json其實就是一種數據交換格式,json的數據格式其實就是python裏面的字典格式,{}中的數組,就是python裏面的列表。python中有專門的庫,'json’庫,此庫提供了常用的四種方法:
- 序列化:dumps(),dump(),
dumps()和loads()針對字符串操作,而dump()和load()針對文件操作。 - 反序列化:loads(),load()
dumps()和loads()針對字符串操作,而dump()和load()針對文件操作。
import json #引入json模塊
#定義字典,將字典轉換爲json對象
dicta = {'id':'2','name':'lisi','age':'20'}
jsonObj =json.dumps(dicta) #將dicta轉換爲json字符串
print(type(jsonObj))
print(jsonObj)
#將json字符串還原爲python對象
pythonObj = json.loads(jsonObj)
print(pythonObj )
print(type(pythonObj ))
#可以將轉換完的數據存入json文件
with open ('jsonObj.json','w',encoding='utf8') as fp:
print(type(jsonObj))
json.dump(jsonObj,fp) #jsonObj會寫入jsonObj.json中
#讀取.json文件中的內容
with open('jsonObj.json','r') as fp:
strJsonObj = json.load(fp) #提取文件中的json對象
obj = json.loads(strJsonObj) # 還原爲python對象
print(obj)
運行結果:
<class 'str'>
{"id": "2", "name": "lisi", "age": "20"}
{'id': '2', 'name': 'lisi', 'age': '20'}
<class 'dict'>
<class 'str'>
{'id': '2', 'name': 'lisi', 'age': '20'}