JSON 是一種用于存儲和交換數(shù)據(jù)的語法。JSON 是文本,使用 JavaScript 對象表示法編寫。
Python 中的 JSON
Python 有一個內(nèi)置的 json 包,可用于處理 JSON 數(shù)據(jù)。
示例:導(dǎo)入 json 模塊:
import json
解析 JSON - 從 JSON 轉(zhuǎn)換為 Python
如果您有一個 JSON 字符串,可以使用 json.loads() 方法來解析它。結(jié)果將是一個 Python 字典。
示例:從 JSON 轉(zhuǎn)換為 Python:
import json
# 一些 JSON:
x = '{ "name":"John", "age":30, "city":"New York"}'
# 解析 x:
y = json.loads(x)
# 結(jié)果是一個 Python 字典:
print(y["age"])
從 Python 轉(zhuǎn)換為 JSON
如果您有一個 Python 對象,可以使用 json.dumps() 方法將其轉(zhuǎn)換為 JSON 字符串。
示例:從 Python 轉(zhuǎn)換為 JSON:
import json
# 一個 Python 對象(字典):
x = {
"name": "John",
"age": 30,
"city": "New York"
}
# 轉(zhuǎn)換為 JSON:
y = json.dumps(x)
# 結(jié)果是一個 JSON 字符串:
print(y)
您可以將以下類型的 Python 對象轉(zhuǎn)換為 JSON 字符串:
- dict(字典)
- list(列表)
- tuple(元組)
- string(字符串)
- int(整數(shù))
- float(浮點數(shù))
- True(真)
- False(假)
- None(空)
示例:將 Python 對象轉(zhuǎn)換為 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))
當(dāng)您從 Python 轉(zhuǎn)換為 JSON 時,Python 對象將被轉(zhuǎn)換為 JSON(JavaScript)等效對象:
Python JSON
dict 對象(Object)
list 數(shù)組(Array)
tuple 數(shù)組(Array)
str 字符串(String)
int 數(shù)字(Number)
float 數(shù)字(Number)
True true
False false
None null
示例:將包含所有合法數(shù)據(jù)類型的 Python 對象轉(zhuǎn)換為 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))
格式化結(jié)果,上面的示例打印了一個 JSON 字符串,但它不太容易閱讀,沒有縮進和換行。json.dumps() 方法具有參數(shù),以使結(jié)果更易閱讀:
示例:使用 indent 參數(shù)來定義縮進的數(shù)量:
json.dumps(x, indent=4)
您還可以定義分隔符,默認值為 (", ", ": "),這意味著使用逗號和空格來分隔每個對象,使用冒號和空格來分隔鍵和值:
示例:使用 separators 參數(shù)來更改默認分隔符:
json.dumps(x, indent=4, separators=(". ", " = "))
對結(jié)果進行排序,json.dumps() 方法具有參數(shù),可以對結(jié)果中的鍵進行排序:
示例:使用 sort_keys 參數(shù)來指定結(jié)果是否應(yīng)按鍵排序:
json.dumps(x, indent=4, sort_keys=True)
最后
為了方便其他設(shè)備和平臺的小伙伴觀看往期文章:公眾號搜索Let us Coding
,或者掃描下方二維碼,關(guān)注公眾號,即可獲取最新文章。
看完如果覺得有幫助,歡迎點贊、收藏和關(guān)注文章來源:http://www.zghlxwxcb.cn/news/detail-737244.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-737244.html
到了這里,關(guān)于Python JSON 使用指南:解析和轉(zhuǎn)換數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!