首先說明下JSON數(shù)據(jù)的特性康铭,然后介紹幾個重要的轉換函數(shù)。
JSON
- JSON(JavaScript Object Notation)即JavaScript對象表示法,一種輕量級赌髓,通用的文本數(shù)據(jù)格式从藤。
- JSON語法支持對象(Object),數(shù)組(Array)锁蠕,字符串夷野,數(shù)字(number: int/real)以及true/false和null。
同時支持多層嵌套Object或Array荣倾。 - JSON擁有嚴格的格式悯搔,主要格式如下:
(1)只能用雙引號,不能用單引號逃呼;
(2)元素之間用逗號隔開鳖孤,最后一個元素不能有逗號者娱;
(3)不支持注釋抡笼;
(4)中文等特殊字符傳輸時應確保轉為ASCII碼(\uXXX格式)。
json <==> python
JSON | Python |
---|---|
Object | 字典 |
Array | 列表 |
字符串 | 字符串 |
數(shù)字 | 數(shù)字(int/float) |
true/false | True/False |
null | Null |
import json
json模塊提供了四個功能:dumps
黄鳍、dump
推姻、loads
、load
框沟,用于字符串和 python數(shù)據(jù)類型間進行轉換藏古。
- JSON字符串與Python字典的相互轉換
(1)P==>J
json.dumps(字典=dict_var, indent=2,sort_keys=True, ensure_ascii=False)
:將字典轉為JSON字符串。
(其中indent為多行縮進空格數(shù)忍燥,sort_keys為是否按鍵排序拧晕,ensure_ascii=False 禁用ascii編碼,按utf-8編碼)
(2)J==>P
json.loads(JSON字符串)
:將JSON字符串轉為字典梅垄。
(JSON數(shù)據(jù)自動按Unicode存儲厂捞,如果字符串不是合法的JSON格式,會報JSONDecodeError。) - JSON文件與字典的相互轉換
(1)P==>J
json.dump(dictStr, open("dictStr.json","w"), ensure_ascii=False)
:將Python內置類型序列化為JSON對象后寫入文件靡馁。
(2)J==>P
json.load(open("listStr.json"))
:讀取文件中JSON形式的字符串元素 轉化成python類型