JSON 是一種用於存儲和交換數據的語法。JSON 是文本,使用 JavaScript 對象表示法編寫。 Python 中的 JSON Python 有一個內置的 json 包,可用於處理 JSON 數據。 示例:導入 json 模塊: import json 解析 JSON - 從 JSON 轉換 ...
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
,或者掃描下方二維碼,關註公眾號,即可獲取最新文章。
看完如果覺得有幫助,歡迎點贊、收藏和關註