1.json字符串的基本介紹:
1)JSON的定義:
JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規范)的一個子集,采用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。
2)JSON支持的格式:
1.對象(字典)。使用花括號。
2.數組(列表)。使用方括號。
3.整形,浮點型,布爾型,null類型
4.字符串類型(必須使用雙引號)
注意:json本質是個字符串。在python中內置就有json模塊,直接導入即可。
2.將python對象dump(s)為json字符串:
1)dumps函數將目標對象一次全部轉換(間接):
import json persons = [ { 'username':'aaa', 'age':18, 'country':'China' } , { 'user':'bbb', 'age':19, 'country':'China' } ] json_str = json.dumps(persons)
with open('persons.json','w',encoding='utf-8') as fp:
fp.write(json_str)
2)將 json 數據直接 dump 到文件中:
在 json 模塊中,除了dumps函數,還有一個 dump函數可以傳入一個文件的指針,直接將字符串 dump 到文件中。
import json persons = [ { 'username':'張三', 'age':18, 'country':'China' } , { 'user':'李四', 'age':19, 'country':'China' } ] with open('persons.json','w',encoding='utf-8') as fp: json.dump(persons,fp,ensure_ascili=False)
注意,當有中文字符時,需要給上編碼(encoding='utf-8')以及把 dump() 中的 ensure_ascii= 參數改成 False (默認為Ture)
注意:在Pthon中,只有基本數據類型才能轉成 json 格式的字符串。即,int float str list dict tuple。
3.將json字符串load(s)成python對象:
1)直接從文件中讀取json:
with open('persons.json','r',encoding='utf-8') as fp: persons = json.load(fp) print(persons)
2)在python對象中讀取:
json_str = '[{"username": "張三", "age": 18, "country": "China"}, ' \ '{"user": "李四", "age": 19, "country": "China"}]' persons = json.loads(json_str) print(persons)