day6_json模块

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))

原文地址:https://www.cnblogs.com/laosun0204/p/8528812.html