什么是JSON?
創新互聯公司專注于裕華網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供裕華營銷型網站建設,裕華網站制作、裕華網頁設計、裕華網站官網定制、小程序開發服務,打造裕華網絡公司原創品牌,更為您提供裕華網站排名全網營銷落地服務。JSON 的全稱是 JavaScript Object Notation,即 JavaScript 對象符號,它是一種輕量級、跨平臺、跨語言的數據交換格式,其設計意圖是把所有事情都用設計的字符串來表示,這樣既方便在互聯網上傳遞信息,也方便人進行閱讀。
JSON 主要有兩種數據結構:
當程序把 JSON 對象或 JSON 字符串轉換成 Python 對象時,從 JSON 類型到 Python 類型的轉換關系如下所示:
JSON類型Python類型JSON 類型Python 類型對象(object)字典(dict)數組(array列表(list)字符串(string)字符串(str)整數(number(int))整數(int)實數(number(real))浮點數(float)trueTruefalseFalsenullNone
同樣的,當程序把 Python 對象轉換成 JSON 格式字符串時,從 Python 類型到 JSON 類型的轉換關系如下所示:
Python類型JSON類型Python 類型JSON 類型字典(dict)對象(object)列表(list)和元組(tuple)數組(array)字符串(str)字符串(string)整型、浮點數,枚舉數值型(number)TruetrueFalsefalseNonenull
Python3 中可以使用 json 模塊來對 JSON 數據進行編解碼,它包含了兩個函數:
== 使用dumps函數對數據進行編碼==
import json # 創建字典類型Person person = { 'name': '知秋小夢', 'gender': 'male', 'age': 18 } # Python字典類型轉換為JSON對象 json_person = json.dumps(person) print(json_person) # 輸出 {"name": "\u77e5\u79cb\u5c0f\u68a6", "gender": "male", "age": 18}
輸出的中文是中文的ascii字符碼,而不是真正的中文。
這是因為json.dumps 序列化時對中文默認使用的ascii編碼
因此需要使用ensure_ascii=False來指定出中文
# 設置不適用ascll編碼 json_person = json.dumps(person,ensure_ascii=False) print(json_person) # 輸出 {"name": "知秋小夢", "gender": "male", "age": 18}
== 使用loads函數對數據進行解碼 ==
# 將 JSON 對象轉換為 Python 字典 dict_person = json.loads(json_person) print("person['name']: ",dict_person['name']) print("person['age']: ", dict_person['age']) # 輸出 person['name']: 知秋小夢 person['age']: 18
dumps()和loads()主要用于Python和json對象的相互轉化,dump()與load()主要用于讀寫json文件
# 寫入 JSON 數據 with open('data.json', 'w', encoding='utf-8') as f: json.dump(data, f) # 讀取 JSON 數據 with open('data.json', 'r', encoding='utf-8') as f: data = json.load(f)
JSON作為數據存儲、交互用的比較多,比如網頁cookie、數據交互等,建議掌握!
當前名稱:Python入門進階教程-JSON操作-創新互聯
標題URL:http://vcdvsql.cn/article24/dsdhje.html
成都網站建設公司_創新互聯,為您提供網站維護、自適應網站、網站排名、響應式網站、網站策劃、面包屑導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯