Python中JSON數(shù)據(jù)處理的完整指南
JSON 是什么
JSON(JavaScript Object Notation)是一種輕量級(jí)數(shù)據(jù)格式,長(zhǎng)得像 Python 的字典和列表:
{
"name": "Alice",
"age": 30,
"skills": ["Python", "Data Science"]
}
Python 自帶神器:json模塊
import json
JSON → Python(反序列化)
用 json.loads() 把 JSON 字符串變成字典:
import json
json_str = '{"name": "Alice", "age": 30, "skills": ["Python", "Data Science"]}'
data = json.loads(json_str)
print(data["name"]) # Alice
print(type(data)) # <class 'dict'>
Python → JSON(序列化)
用 json.dumps() 把 Python 對(duì)象變 JSON 字符串:
person = {
"name": "Bob",
"age": 25,
"skills": ["JavaScript", "React"]
}
json_data = json.dumps(person)
print(json_data)
優(yōu)雅打印 JSON
加 indent 一鍵格式化:
print(json.dumps(person, indent=2))
從文件讀取 JSON
with open('data.json', 'r') as file:
data = json.load(file)
print(data["name"])
把 JSON 寫進(jìn)文件
with open('output.json', 'w') as file:
json.dump(person, file, indent=4)
JSON ↔ Python 類型對(duì)照表
| JSON | Python |
|---|---|
| Object | dict |
| Array | list |
| String | str |
| Number | int/float |
| true/false | True/False |
| null | None |
異常處理
解析失敗時(shí)用 try-except 捕獲:
try:
data = json.loads('{"name": "Alice", "age": }') # 非法 JSON
except json.JSONDecodeError as e:
print("解析出錯(cuò):", e)
實(shí)戰(zhàn):抓取在線 API 數(shù)據(jù)
import requests
import json
response = requests.get("https://jsonplaceholder.typicode.com/users")
users = response.json()
for user in users:
print(user['name'], '-', user['email'])
今日總結(jié)
| 任務(wù) | 函數(shù) |
|---|---|
| JSON → Python | json.loads() |
| Python → JSON | json.dumps() |
| 讀文件 | json.load() |
| 寫文件 | json.dump() |
到此這篇關(guān)于Python中JSON數(shù)據(jù)處理的完整指南的文章就介紹到這了,更多相關(guān)Python JSON數(shù)據(jù)處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用Beautiful Soup實(shí)現(xiàn)解析網(wǎng)頁(yè)
在這篇文章中,我們將介紹如何使用 Python 編寫一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)爬蟲,以獲取并解析網(wǎng)頁(yè)內(nèi)容。我們將使用 Beautiful Soup 庫(kù),它是一個(gè)非常強(qiáng)大的庫(kù),用于解析和操作 HTML 和 XML 文檔。讓我們開始吧2023-05-05
OpenCV-Python實(shí)現(xiàn)懷舊濾鏡與連環(huán)畫濾鏡
很多時(shí)候通過(guò)ps可以做很多效果,今天我們來(lái)介紹使用OpenCV-Python實(shí)現(xiàn)懷舊濾鏡與連環(huán)畫濾鏡,具有一定的參考價(jià)值,感興趣的可以了解一下2021-06-06
Python3 全自動(dòng)更新已安裝的模塊實(shí)現(xiàn)
這篇文章主要介紹了Python3 全自動(dòng)更新已安裝的模塊實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
python + winrm 實(shí)現(xiàn)遠(yuǎn)程連接Windows服務(wù)器并執(zhí)行指定命令的操作過(guò)程
Windows遠(yuǎn)程管理(WinRM)是Windows Server 2003 R2,Windows Vista和Windows Server 2008中一種新式的方便遠(yuǎn)程管理的服務(wù),這篇文章主要介紹了python + winrm 實(shí)現(xiàn)遠(yuǎn)程連接Windows服務(wù)器并執(zhí)行指定命令的操作過(guò)程,需要的朋友可以參考下2023-10-10
Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運(yùn)算式
這篇文章主要介紹了Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運(yùn)算式,然后介紹了另外一個(gè)相關(guān)實(shí)例,具體內(nèi)容請(qǐng)參閱正文,需要的朋友可以參考下。2017-11-11
Django 簡(jiǎn)單實(shí)現(xiàn)分頁(yè)與搜索功能的示例代碼
這篇文章主要介紹了Django 簡(jiǎn)單實(shí)現(xiàn)分頁(yè)與搜索功能的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
python游戲測(cè)試工具自動(dòng)化遍歷游戲中所有關(guān)卡
這篇文章主要為大家介紹了python游戲測(cè)試工具自動(dòng)化遍歷游戲中所有關(guān)卡示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06

