Json的数据类型:‘ { "a " : 1 , " b " : 2 } ’
Json模块
Json模块的4个功能:loads,dumps,dump,load.
loads,dumps用于json字符串与python数据类型间的转换。
import json
#loads把json数据类型转换成python数据类型
strList = '[1,2,3,4]'
strDict = '{"city":"沈阳","name":"小杨"}'
# 里面一定是""号,否则不是json类型。
pyList = json.loads(strList)
pyDict = json.loads(strDict)
print(pyList)
print(pyDict)
out:[1,2,3,4],{'city':'沈阳','name':'小杨'}
# json.dumps 把python数据类型转化为json字符串,返回一个字符串对象或是字典类型的字符串
pyList = [1,2,3,4]
pyDict = {"city": "沈阳","name": "小杨"}
strList = json.dumps(pyList)
strDict = json.dumps(pyDict)
print(strList)
print(strDict)
out:[1, 2, 3, 4]{"city": "\u6c88\u9633", "name": "\u5c0f\u6768"}
# dumps()序列化时默认使用ASCII编码,只需在dumps中添加 ensure_ascii=False就可。
print(type(srtList),type(strDict))
out:<class 'str'>
因为我们保存的数据是不能以字典或者列表类型保存,因此我们可以把转换成json格式保存。
# json.dump(),将python内置类型序列化为json对象后存入文件,它是针对于文件的操作
import json
pyList = [1, 2, 3, 4]
pyDict = {"city": "沈阳", "name": "小杨"}
with open('List_Dict.txt', 'w') as f:
json.dump(pyList, f, ensure_ascii=False)
json.dump(pyDict, f, ensure_ascii=False)