JSON 是一種用於儲存和交換資料的語法。JSON 是文字,使用 JavaScript 物件表示法編寫。
Python 中的 JSON
Python 有一個內建的 json 包,可用於處理 JSON 資料。
示例:匯入 json 模組:
import json
解析 JSON - 從 JSON 轉換為 Python
如果您有一個 JSON 字串,可以使用 json.loads() 方法來解析它。結果將是一個 Python 字典。
示例:從 JSON 轉換為 Python:
import json
# 一些 JSON:
x = '{ "name":"John", "age":30, "city":"New York"}'
# 解析 x:
y = json.loads(x)
# 結果是一個 Python 字典:
print(y["age"])
從 Python 轉換為 JSON
如果您有一個 Python 物件,可以使用 json.dumps() 方法將其轉換為 JSON 字串。
示例:從 Python 轉換為 JSON:
import json
# 一個 Python 物件(字典):
x = {
"name": "John",
"age": 30,
"city": "New York"
}
# 轉換為 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": "John", "age": 30}))
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 物件轉換為 JSON 字串:
import json
x = {
"name": "John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
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)
最後
為了方便其他裝置和平臺的小夥伴觀看往期文章:公眾號搜尋Let us Coding
,或者掃描下方二維碼,關注公眾號,即可獲取最新文章。
看完如果覺得有幫助,歡迎點贊、收藏和關注