python:json相关: json.dumps() , json.loads() , json.dump() , json.load() 的解析

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 就是类文件对象

猜你喜欢

转载自blog.csdn.net/qq_31362767/article/details/81382258