Python JSON
- 上一頁 Python 日期
- 下一頁 Python RegEx
JSON 是用于存儲和交換數據的語法。
JSON 是用 JavaScript 對象表示法(JavaScript object notation)編寫的文本。
Python 中的 JSON
Python 有一個名為 json
的內置包,可用于處理 JSON 數據。
實例
導入 json
模塊:
import json
解析 JSON - 把 JSON 轉換為 Python
若有 JSON 字符串,則可以使用 json.loads()
方法對其進行解析。
結果將是 Python 字典。
實例
把 JSON 轉換為 Python:
import json # 一些 JSON: x = '{ "name":"Bill", "age":63, "city":"Seatle"}' # 解析 x: y = json.loads(x) # 結果是 Python 字典: print(y["age"])
把 Python 轉換為 JSON
若有 Python 對象,則可以使用 json.dumps()
方法將其轉換為 JSON 字符串。
實例
把 Python 轉換為 JSON:
import json # Python 對象(字典): x = { "name": "Bill", "age": 63, "city": "Seatle" } # 轉換為 JSON: y = json.dumps(x) # 結果是 JSON 字符串: print(y)
您可以把以下類型的 Python 對象轉換為 JSON 字符串:
- dict
- list
- tuple
- string
- int
- float
- True
- False
- None
實例
將 Python 對象轉換為 JSON 字符串,并打印值:
import json print(json.dumps({"name": "Bill", "age": 63})) print(json.dumps(["apple", "bananas"])) print(json.dumps(("apple", "bananas"))) print(json.dumps("hello")) print(json.dumps(42)) print(json.dumps(31.76)) print(json.dumps(True)) print(json.dumps(False)) print(json.dumps(None))
當 Python 轉換為 JSON 時,Python 對象會被轉換為 JSON(JavaScript)等效項:
Python | JSON |
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
實例
轉換包含所有合法數據類型的 Python 對象:
import json x = { "name": "Bill", "age": 63, "married": True, "divorced": False, "children": ("Jennifer","Rory","Phoebe"), "pets": None, "cars": [ {"model": "Porsche", "mpg": 38.2}, {"model": "BMW M5", "mpg": 26.9} ] } print(json.dumps(x))
格式化結果
上面的實例打印一個 JSON 字符串,但它不是很容易閱讀,沒有縮進和換行。
json.dumps()
方法提供了令結果更易讀的參數:
實例
使用 indent
參數定義縮進數:
json.dumps(x, indent=4)
您還可以定義分隔符,默認值為(", ", ": "),這意味著使用逗號和空格分隔每個對象,使用冒號和空格將鍵與值分開:
實例
使用 separators
參數來更改默認分隔符:
json.dumps(x, indent=4, separators=(". ", " = "))
對結果排序
json.dumps()
方法提供了對結果中的鍵進行排序的參數:
實例
使用 sort_keys
參數來指定是否應對結果進行排序:
json.dumps(x, indent=4, sort_keys=True)
- 上一頁 Python 日期
- 下一頁 Python RegEx