6.2 讀寫(xiě)json數(shù)據(jù)
使用json模塊來(lái)讀寫(xiě)json數(shù)據(jù)
其中json的dumps和loads函數(shù)就是借鑒了之前 5.21pickle函數(shù)的設(shè)計(jì)思路
dumps函數(shù)將python數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為json數(shù)據(jù)結(jié)構(gòu)
>>> import json
>>> d ={"name":"test","price":"30.33"}
>>> json_str=json.dumps(d)
>>> json_str
'{"name": "test", "price": "30.33"}'
>>>
- loads函數(shù)將json編碼的字符串再轉(zhuǎn)換為python數(shù)據(jù)結(jié)構(gòu)
>>> data = json.loads(json_str)
>>> data
{'name': 'test', 'price': '30.33'}
>>>
- 如果要加載的數(shù)據(jù)是文件而不是字符串碳胳,則使用load和dump函數(shù)
>>> with open("data.json",'w') as f:
... json.dump(data,f)
...
>>> with open("data.json",'r') as f:
... d1 = json.load(f)
... print(d1)
...
{'name': 'test', 'price': '30.33'}
>>>
二、json編碼
- json編碼格式支持
格式 | 備注 |
---|---|
None | |
bool | |
int | |
str |
- 列表恳守、元組、字典均可
- JSONObject皮服。。裤唠。历造。垃瞧。未完待續(xù)