json.dumps方法将字典转成json串:
import json
user_info = {
'name': '孙树江',
'age': 30,
'addr': '北京'
}
f = open('aaa.json', 'w', encoding='utf8') # 运行完在aaa.json文件里看到key和value的颜色,pycharm自动识别aaa.json为json文件
res = json.dumps(user_info, ensure_ascii=False, indent=4)
# dumps方法将字典、list、元组转成json串,ensure_ascii = False将乱码转成中文,indent=4是缩进为4,不让 key和value都在一行,每行都显示
print(res)
print(type(res))
f.write(res)
json串里的key和value必须是双引号,打开的文件名可以是任何形式为后缀的,不过不是.json格式pycharm不会自动换行,先选中要换行的json代码,
然后左上角Code->Reformat Code就会自动换行,如下:
{
"age": 30,
"addr": "北京",
"name": "孙树江"
}
json.dump方法将字典转成json串:
import json
user_info = {
'name': '孙树江',
'age': 30
}
fw = open('ssj2.json', 'w', encoding='utf8')
json.dump(user_info, fw, ensure_ascii=False) # 通过dump也可以将字典转成json串
http://www.bejson.com/ # json格式校验用此网址
json.loads方法将json串转成字典:
方法一:
user_info2 = '{"age": 30, "name": "孙树江", "addr": "suzhoujie"}'
res = json.loads(user_info2)
print(res)
print(type(res))
方法二:
import json
# 使用read()方法,read()方法返回的是一个字符串,把json串通过loads方法转成字典
res = open('ssj2.json', encoding='utf8').read()
res2 = json.loads(res)
print(res2)
print(type(res2))
json.load方法将json串转成字典:
res = open('ssj2.json', encoding='utf8') # 使用文件对象把json串通过load方法转成字典
res2 = json.load(res)
print(res2)
print(type(res2))