常用模組——json模組
阿新 • • 發佈:2018-11-11
json模組
pickle模組和shelve模組序列化的得到資料只能被Python所解析。
通常企業開發不可能做一個單機版,都需要聯網進行計算機之間的互動。
我們必須保證這個資料能夠跨平臺使用。
JSON是什麼?
JavaScript object notation 就是物件表示法。
對我們而言JSON就是通用的資料格式,任何語言都能夠解析。
json中資料格式與Python中的資料型別的對照
json資料格式 | Python資料型別 |
{} | dict |
[] | list |
int/float | int/float |
true/false | True/False |
null | None |
json的語法規範
最外層通常是一個字典或列表。
{} or []
只要你想寫一個json格式的資料,那麼最外層直接寫{}
字串必須是雙引號。
你可以在其中巢狀任意多的層次。
json模組的核心功能
dump dumps
load loads
不帶s 的封裝了write和read功能
a.json檔案
{ "name":"msj", "age":25, "gender":"male" }
反序列化
import json with open(r'a.json','r',encoding='utf-8') as f: res = json.loads(f.read()) print(res) #{'name': 'msj', 'age': 25, 'gender': 'male'}
反序列化load()
with open(r'a.json','r',encoding='utf-8') as f: res=json.load(f) print(res)
序列化dumps()
dic = { 'egon':{ "age":18, "ismale":True, 'add':None } } res = json.dumps(dic) with open(r'b.json','w',encoding='utf-8') as f: f.write(res)
輸入符合Python語法的格式內容會被轉換為符合json語法的。
{"egon": {"age": 18, "ismale": true, "add": null}}
反序列化dump
with open(r'c.json','w',encoding='utf-8') as f: json.dump(dic,f)