如何使用Python JSON解析和轉(zhuǎn)換數(shù)據(jù)
JSON 是一種用于存儲(chǔ)和交換數(shù)據(jù)的語(yǔ)法。JSON 是文本,使用 JavaScript 對(duì)象表示法編寫。
Python 中的 JSON
Python 有一個(gè)內(nèi)置的 json 包,可用于處理 JSON 數(shù)據(jù)。
示例:導(dǎo)入 json 模塊:
import json
解析 JSON - 從 JSON 轉(zhuǎn)換為 Python
如果您有一個(gè) JSON 字符串,可以使用 json.loads() 方法來(lái)解析它。結(jié)果將是一個(gè) Python 字典。
示例:從 JSON 轉(zhuǎn)換為 Python:
import json
# 一些 JSON:
x = '{ "name":"John", "age":30, "city":"New York"}'
# 解析 x:
y = json.loads(x)
# 結(jié)果是一個(gè) Python 字典:
print(y["age"])從 Python 轉(zhuǎn)換為 JSON
如果您有一個(gè) Python 對(duì)象,可以使用 json.dumps() 方法將其轉(zhuǎn)換為 JSON 字符串。
示例:從 Python 轉(zhuǎn)換為 JSON:
import json
# 一個(gè) Python 對(duì)象(字典):
x = {
"name": "John",
"age": 30,
"city": "New York"
}
# 轉(zhuǎn)換為 JSON:
y = json.dumps(x)
# 結(jié)果是一個(gè) JSON 字符串:
print(y)您可以將以下類型的 Python 對(duì)象轉(zhuǎn)換為 JSON 字符串:
- dict(字典)
- list(列表)
- tuple(元組)
- string(字符串)
- int(整數(shù))
- float(浮點(diǎn)數(shù))
- True(真)
- False(假)
- None(空)
示例:將 Python 對(duì)象轉(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 時(shí),Python 對(duì)象將被轉(zhuǎn)換為 JSON(JavaScript)等效對(duì)象:
Python JSON
dict 對(duì)象(Object)
list 數(shù)組(Array)
tuple 數(shù)組(Array)
str 字符串(String)
int 數(shù)字(Number)
float 數(shù)字(Number)
True true
False false
None null
示例:將包含所有合法數(shù)據(jù)類型的 Python 對(duì)象轉(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é)果,上面的示例打印了一個(gè) JSON 字符串,但它不太容易閱讀,沒有縮進(jìn)和換行。json.dumps() 方法具有參數(shù),以使結(jié)果更易閱讀:
示例:使用 indent 參數(shù)來(lái)定義縮進(jìn)的數(shù)量:
json.dumps(x, indent=4)
您還可以定義分隔符,默認(rèn)值為 (", ", ": "),這意味著使用逗號(hào)和空格來(lái)分隔每個(gè)對(duì)象,使用冒號(hào)和空格來(lái)分隔鍵和值:
示例:使用 separators 參數(shù)來(lái)更改默認(rèn)分隔符:
json.dumps(x, indent=4, separators=(". ", " = "))對(duì)結(jié)果進(jìn)行排序,json.dumps() 方法具有參數(shù),可以對(duì)結(jié)果中的鍵進(jìn)行排序:
示例:使用 sort_keys 參數(shù)來(lái)指定結(jié)果是否應(yīng)按鍵排序:
json.dumps(x, indent=4, sort_keys=True)
最后
到此這篇關(guān)于使用Python JSON解析和轉(zhuǎn)換數(shù)據(jù)的文章就介紹到這了,更多相關(guān)python json轉(zhuǎn)換數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python轉(zhuǎn)換wrf輸出的數(shù)據(jù)為網(wǎng)頁(yè)可視化json格式
- python讀取json數(shù)據(jù)還原表格批量轉(zhuǎn)換成html
- 基于python實(shí)現(xiàn)把json數(shù)據(jù)轉(zhuǎn)換成Excel表格
- 使用python將mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)轉(zhuǎn)換為json數(shù)據(jù)的方法
- 把JSON數(shù)據(jù)格式轉(zhuǎn)換為Python的類對(duì)象方法詳解(兩種方法)
- python3 json數(shù)據(jù)格式的轉(zhuǎn)換(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互轉(zhuǎn)換)
- 利用python將json數(shù)據(jù)轉(zhuǎn)換為csv格式的方法
相關(guān)文章
Python?生成多行重復(fù)數(shù)據(jù)的方法實(shí)現(xiàn)
本文主要介紹了Python?生成多行重復(fù)數(shù)據(jù)的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Python深度學(xué)習(xí)之Unet?語(yǔ)義分割模型(Keras)
這篇文章主要介紹了語(yǔ)義分割任務(wù)中Unet一個(gè)有意思的模型-Keras。Keras是一個(gè)由Python編寫的開源人工神經(jīng)網(wǎng)絡(luò)庫(kù),可進(jìn)行深度學(xué)習(xí)模型的設(shè)計(jì)、調(diào)試、評(píng)估、應(yīng)用和可視化。感興趣的小伙伴快來(lái)跟隨小編一起學(xué)習(xí)一下吧2021-12-12
Python Pandas高級(jí)教程之時(shí)間處理
我們發(fā)現(xiàn)關(guān)于時(shí)間日期的簡(jiǎn)單計(jì)算很多功能都是datetime庫(kù)提供的,那么pandas有沒有提供跟日期時(shí)間有關(guān)的函數(shù),通過下面文章來(lái)了解下,這篇文章主要給大家介紹了關(guān)于Python Pandas高級(jí)教程之時(shí)間處理的相關(guān)資料,需要的朋友可以參考下2021-10-10
Python實(shí)現(xiàn)拷貝多個(gè)文件到同一目錄的方法
這篇文章主要介紹了Python實(shí)現(xiàn)拷貝多個(gè)文件到同一目錄的方法,涉及Python針對(duì)文件與目錄的遍歷、復(fù)制等相關(guān)操作技巧,需要的朋友可以參考下2016-09-09
在Pycharm中安裝Pandas庫(kù)方法(簡(jiǎn)單易懂)
這篇文章主要介紹了在Pycharm中安裝Pandas庫(kù)方法,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02

