1、json.dumps()
json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。
1 2 3 4 5 6 7 8
| import json
name = {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}
jsDumps = json.dumps(name)
print(name,'类型为:%s'%type(name)) print(jsDumps,'类型为:%s'%type(jsDumps))
|
结果为
1 2
| {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} 类型为:<class 'dict'> {"a": "zhangsan", "b": "lisi", "c": "mawu", "d": "zhaoliu"} 类型为:<class 'str'>
|
2、json.dump()
json.dump()用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import json nameList = {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}
fileName = ('./namejson.json')
# 方法 1 #现将字典转为字符串,在写入文件中 jsObj = json.dumps(nameList) with open(fileName, "w",encoding='utf-8') as f: f.write(jsObj) f.close() # 方法 2 # 直接写入文件中 格式:json.dump(字典或列表,打开文件,ensure_ascii=False) 关闭ascii转码 json.dump(nameList, open(fileName, "w",encoding='utf-8'),ensure_ascii=False)
|
3、json.loads()
json.loads()用于将str类型的数据转成dict。
1 2 3 4 5 6 7 8 9 10
| import json
name = {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}
jsDumps = json.dumps(name) jsLoads = json.loads(jsDumps)
print(name,'类型为:%s'%type(name)) print(jsDumps,'类型为:%s'%type(jsDumps)) print(jsLoads,'类型为:%s'%type(jsLoads))
|
结果为
1 2 3
| {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} 类型为:<class 'dict'> {"a": "zhangsan", "b": "lisi", "c": "mawu", "d": "zhaoliu"} 类型为:<class 'str'> {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} 类型为:<class 'dict'>
|
4、json.load()
json.load()用于从json文件中读取数据。
1 2 3 4 5 6 7 8 9 10 11
| import json
emb_filename = ('./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)))
|
结果为
1 2 3 4 5 6
| {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} <class 'dict'> key: a value: zhangsan key: b value: lisi key: c value: mawu key: d value: zhaoliu
|