1.json.loads
他的作用是: 将json格式的字符串转换为python的字典格式
import json
def loads():
data = '{"name": "July", "salary": 999999}'
json_data = json.loads(data)
print(json_data)
print(type(data))
print(type(json_data))
loads()
输出:
2.json.dumps
他的作用是: 将python的字典格式转换为json格式的字符串
如果直接将字典格式的数据写入到.json文件中去的话会报错,所以需要先转换然后再写入到.json文件中去
import json
def loads():
data = {"name": "July", "salary": 999999}
json_data = json.dumps(data)
print(json_data)
print(type(data)) # dict
print(type(json_data)) # str
loads()
输出:
注意:
默认使用ASCII编码来处理中文,需要添加参数来避免乱码
import json
# 记住:处理中文时,添加参数 ensure_ascii=False 来禁用ascii编码
def loads():
data = {"name": "周杰伦", "salary": 999999}
json_data = json.dumps(data,ensure_ascii=False)
print(json_data)
print(type(data)) # dict
print(type(json_data)) # str
loads()
输出:
3.json.dump
json.dump()用于将dict类型的数据转成str,并写入到json文件中。一步到位,省略上面的dumps之后再写入文件
import json
name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}
emb_filename = ('/home/cqh/faceData/emb_json.json')
# 方法 1
jsObj = json.dumps(name_emb)
with open(emb_filename, "w") as f:
f.write(jsObj)
f.close()
# 方法 2
json.dump(name_emb, open(emb_filename, "w"))
4.json.load
json.load()用于从json文件中读取数据。
import json
emb_filename = ('/home/cqh/faceData/emb_json.json')
jsObj = json.load(open(emb_filename))
print(jsObj)
print(type(jsObj))
for key in jsObj.keys():
print('key: %s value: %s' % (key,jsObj.get(key)))