如何使用Python JSON解析和轉(zhuǎn)換數(shù)據(jù)
JSON 是一種用于存儲(chǔ)和交換數(shù)據(jù)的語法。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() 方法來解析它。結(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ù)來定義縮進(jìn)的數(shù)量:
json.dumps(x, indent=4)
您還可以定義分隔符,默認(rèn)值為 (", ", ": "),這意味著使用逗號(hào)和空格來分隔每個(gè)對(duì)象,使用冒號(hào)和空格來分隔鍵和值:
示例:使用 separators 參數(shù)來更改默認(rèn)分隔符:
json.dumps(x, indent=4, separators=(". ", " = "))對(duì)結(jié)果進(jìn)行排序,json.dumps() 方法具有參數(shù),可以對(duì)結(jié)果中的鍵進(jìn)行排序:
示例:使用 sort_keys 參數(shù)來指定結(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)頁可視化json格式
- python讀取json數(shù)據(jù)還原表格批量轉(zhuǎn)換成html
- 基于python實(shí)現(xiàn)把json數(shù)據(jù)轉(zhuǎn)換成Excel表格
- 使用python將mysql數(shù)據(jù)庫的數(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)文章
conda創(chuàng)建pytorch環(huán)境報(bào)錯(cuò)
這篇文章主要介紹了conda創(chuàng)建pytorch環(huán)境報(bào)錯(cuò),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04
Python基于PyGraphics包實(shí)現(xiàn)圖片截取功能的方法
這篇文章主要介紹了Python基于PyGraphics包實(shí)現(xiàn)圖片截取功能的方法,涉及PyGraphics包的安裝及基于PyGraphics包實(shí)現(xiàn)圖片的打開、讀取、截取等相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
python處理json文件的四個(gè)常用函數(shù)
這篇文章主要介紹了python處理json文件的四個(gè)常用函數(shù),主要包括json.load()和json.dump()及json.loads()還有json.dumps(),需要的朋友可以參考一下2022-07-07
高效測(cè)試用例組織算法pairwise之Python實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄咝y(cè)試用例組織算法pairwise之Python實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
python 19個(gè)值得學(xué)習(xí)的編程技巧
這篇文章主要介紹了python 19個(gè)值得學(xué)習(xí)的編程技巧,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-08-08
Pandas之DataFrame對(duì)象的列和索引之間的轉(zhuǎn)化
這篇文章主要介紹了Pandas之DataFrame對(duì)象的列和索引之間的轉(zhuǎn)化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Win10下python 2.7.13 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Win10下python 2.7.13 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
使用Python實(shí)現(xiàn)批量修改文件的修改日期功能
在日常的文件管理中,您可能需要批量修改文件的修改日期,比如,您可能希望將某個(gè)文件夾中的所有文件的修改日期隨機(jī)設(shè)置為6到8月份之間的日期,這在數(shù)據(jù)整理中可能非常有用,本文將詳細(xì)介紹如何使用Python實(shí)現(xiàn)這一功能,需要的朋友可以參考下2024-10-10

