1. 程式人生 > >JSON檔案以及Python對JSON檔案的讀寫

JSON檔案以及Python對JSON檔案的讀寫

一,什麼是JSON檔案

JSON和XML都是網際網路上資料交換的主要載體。

在JSON出現之前,大家一直用XML來傳遞資料。因為XML是一種純文字格式,所以它適合在網路上交換資料。XML本身不算複雜,但是,加上DTD、XSD、XPath、XSLT等一大堆複雜的規範以後,任何正常的軟體開發人員碰到XML都會感覺頭大了,最後大家發現,即使你努力鑽研幾個月,也未必搞得清楚XML的規範。於是,道格拉斯·克羅克福特(Douglas Crockford)發明了JSON這種超輕量級的資料交換語言,由於JSON非常簡單,它很快就風靡Web世界,並且成為ECMA標準,幾乎所有程式語言都有解析JSON的庫。

JSON(JavaScript Object Notation)是基於ECMAScript(歐洲計算機協會制定的js規範)的一個子集,採用獨立於程式語言的文字格式來儲存和表示資料。簡潔和清晰的層次結構使得JSON成為理想的資料交換語言。易於人閱讀和編寫,同時也易於機器解析和生成,並有效提升網路傳輸效率。JavaScrip物件和JSON之間可以非常方便地轉化。JavaScript內建了JSON的解析,因此在JS中可以直接使用JSON;而把任何JavaScript物件程式設計JSON,就是把這個物件序列化成一個JSON格式的字串,這樣就能夠通過網路傳遞給其他計算機。

二,Python讀取JSON檔案

仔細觀察JSON的格式不難發現,它其實就是Python中的字典。因此,Python對JSON的讀取非常簡單,一個JSON檔案經過json.load()以後,就變成了Python中的字典。

import json

filename='data\github_python_stars.json'
with open(filename,'r',encoding='utf-8') as file:
    data=json.load(file)
    #<class 'dict'>,JSON檔案讀入到記憶體以後,就是一個Python中的字典。
    # 字典是支援巢狀的,
    print(type(data))

三,Python寫入JSON檔案

同樣的,JSON中的字典通過json.dump(),就可以把字典寫入到JSON檔案中:

import json
mydict={'name':'leon','age':'30','email':'[email protected]'}
file='test.json'
with open(file,'w',encoding='utf-8') as f:
    json.dump(mydict,f)
    print("載入入檔案完成...")