json字符串的基本介紹以及dump(s)與load的講解


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)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM