用python读写json文件
一、json文件的读取
json.load() & json.loads()
import json
json_content = {"id": "3426", "name": {"first": "Tom"}, "gender": "Female"}
content = json.loads(json_content)
if 'name' in content:
name = content['name']['first']
二、json文件的写入
json.dump() & json.dumps()
content = {"id": "3426", "name": {"first": "Tom"}, "gender": "Female"}
- dump()
with open(file_path, 'w', encoding='utf8') as filename:
json.dump(content, filename)
- dumps()
with open(file_path, 'w', encoding='utf8') as filename:
filename.write(json.dumps(content))
json.dump()是通过文件的形式进行处理
json.dumps()是将字典转换为json,不通过文件
其实,在读取json时,load()和loads()也是同样的道理
三、json文件格式设置
Unicode的问题
在写入文件时,json.dump()和json.dumps()方法都会默认将其中unicode码以ascii编码的方式输入到string。
解决办法:在dump()或dumps()函数中,设置参数ensure_ascii=False
json.dump(content, filename, ensure_ascii=False)
显示不换行的问题
问题:文件中,json的内容显示为一行。
解决办法:在dump()或dumps()函数中,设置参数indent=1,输出结果将按照字典换行的格式显示。
json.dump(content, filename, indent=1) # 也可以设置为其他数字