jsonと辞書の変換

5374 ワード

1. jsonシーケンス化(辞書から文字列への変換)方法:
dumps:ファイルなし操作dump:シーケンス化+書き込みファイル
  2. json逆シーケンス化(文字列から辞書への変換)方法:
loads:ファイルなし操作load:読み取りファイル+逆シーケンス化
 
例:dumps(辞書を文字列に変換してファイルに書き込む)
d = {'s':'you','d':'are'}

import json
#             
with open('3.json', 'w', encoding='utf-8') as f:
    s = json.dumps(d, ensure_ascii=False, indent=4)#     json,   ,ensure_ascii=False             ,indent = 4      
    f.write(s)

dumps(辞書を文字列に変換し、ファイルに書き込む)
d = {'s':'you','d':'are'}

import json
#             
with open('3.json', 'w', encoding='utf-8') as f:
    # s = json.dumps(d, ensure_ascii=False, indent=4)#     json,   ,ensure_ascii=False             ,indent = 4      
    # f.write(s)
    json.dump(d, f, indent=4, ensure_ascii=False)#dumps     ,dump    
loads(            ,      )
import json
#
with open('3.txt', encoding='utf-8') as fr:
    result = fr.read()
    print(type(result))
    dic = json.loads(result)
    print(dic, type(dic))

load(直接ファイルから辞書形式の文字列を読み出し、辞書に変換)
import json
#
with open('3.txt', encoding='utf-8') as fr:
    # result = fr.read()
    # print(type(result))
    # dic = json.loads(result)
    # print(dic, type(dic))
    result = json.load(fr)#load               
    print(type(result))