JSON介紹與使用

JSON(JavaScript Object Notation,JS對象標記)是一種輕量級的數據交換格式,它基於ECMAScript
(w3c制定的js規範)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次
結構使得Json成爲理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡
傳輸效率。更多解釋請見:https://baike.baidu.com/item/JSON/2462549?fr=aladdin

JSON支持數據格式:
1.對象(字典)使用花括號
2.列表(數組)使用方括號
3.整形、浮點型、布爾類型還用null類型
4.字符串類型(字符串必須要用雙引號,不能用單引號)

多個數據之間使用逗號分開
注意:json本質上就是一個字符串

字典和列表轉JSON

import json # 引入json模塊

books = [
    {
        "title": "西瓜",
        'price': 1.1
    },
    {
        "title": "南瓜",
        'price': 2.2
    }
]

json_str = json.dumps(books, ensure_ascii=False)# 使用dumps函數轉json對象時,需要使用ensure_ascii=False關閉ascii碼
print(type(json_str))
print(json_str)

# 在Python中。只有基本數據類型才能轉換成JSON格式的字符串。也即:int、float、str、list、dict、tuple

將json數據直接dump到文件中

# json模塊中除了dumps函數,還用一個dump函數,這個函數可以傳入一個文件指針,直接將字符串dump到文件中。示例代碼如下:
books = [
    {
        "title": "西瓜",
        "price": 1.1
    },
    {
        "title": "南瓜",
        "price": 2.2
    }
]
with open('a.json', 'w', encoding='utf-8') as fp:
    json.dump(books, fp, ensure_ascii=False)  # 如果以中文方式存儲時,可以使用ensure_ascii=False特性關閉ascii碼,ascii是默認是打開的

將一個json字符串loads成Python對象:

json_str = '[{"title": "鋼鐵是怎樣練成的", "price": 9.8}, {"title": "紅樓夢", "price": 9.9}]'
books = json.loads(json_str, encoding='utf-8') # 設置編碼方式
print(type(books))
print(books)

使用load函數從文件中json數據

with open('a.json', 'r', encoding='utf-8') as fp:
    json_str = json.load(fp)
    print(json_str)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章