json.dumps(): python数据类型转化为json字符串
比如: 将字典,列表类型的数据转换成json字符串类型的数据
>>> import json
>>> mydict ={"name":"zhuyuping", "QQ":["1234324","sdafds"]}
>>> print(json.dumps(mydict))
{"name": "zhuyuping", "QQ": ["1234324", "sdafds"]}
>>> print(type(json.dumps(mydict)))
<class 'str'>
>>> mydict=[1,122,323,324]
>>> print(json.dumps(mydict))
[1, 122, 323, 324]
>>> print(type(json.dumps(mydict)))
<class 'str'>
json.loads(): json字符串转化为python数据类型
比如:将json字符串类型的数据转换成列表,字典类型数据
>>> import json
>>> mydict ='{"name":"zhuyuping", "QQ":"1234324"}'
>>> mydict ='{"name":"zhuyuping", "QQ":["1234324","sdafds"]}'
>>> print(json.loads(mydict))
{'name': 'zhuyuping', 'QQ': ['1234567', 'sdafds']}
>>> print(type(json.loads(mydict)))
<class 'dict'>
>>> mydict='[1,22,3,44]'
>>> print(json.loads(mydict))
[1,22,3,44]
>>> print(type(json.loads(mydict)))
<class 'list'>
json.load() : 包含json的类文件对象转化为python数据类型
json.dump(): python数据类型转化为包含json的类文件对象
举例1
代码:
import json
listStr =[{"city":"nanjing"},{"name":"zhu"}]
json.dump(listStr,open("listStr.json","w"),ensure_ascii=False)
strList =json.load(open("listStr.json"))
print(strList)
print(type(strList))
运行:
[{'city': 'nanjing'}, {'name': 'zhu'}]
<class 'list'>
代码:
for data in strList:
print(data)
for key in data:
print(key,data[key])
运行:
{'city': 'nanjing'}
city nanjing
{'name': 'zhu'}
name zhu
举例2
代码:
import json
dictStr ={"city":"nanjing","name":"ma"}
json.dump(dictStr,open("dictStr.json","w"),ensure_ascii=False)
strDict =json.load(open("dictStr.json"))
print(strDict)
print(type(strDict))
运行:
{'city': 'nanjing', 'name': 'ma'}
<class 'dict'>
代码:
for data in strDict:
print(data,strDict[data])
运行:
city nanjing
name ma
注: json文件为防出现中文乱码:ensure_ascii=False
什么是类文件对象?
具有read()或者write()方法的对象就是类文件对象,
file =open(“listStr.json”,”w”)中 file 就是类文件对象