Python中JSON數(shù)據(jù)處理的完整指南
JSON 是什么
JSON(JavaScript Object Notation)是一種輕量級數(shù)據(jù)格式,長得像 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 對象變 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 寫進文件
with open('output.json', 'w') as file:
json.dump(person, file, indent=4)
JSON ↔ Python 類型對照表
| JSON | Python |
|---|---|
| Object | dict |
| Array | list |
| String | str |
| Number | int/float |
| true/false | True/False |
| null | None |
異常處理
解析失敗時用 try-except 捕獲:
try:
data = json.loads('{"name": "Alice", "age": }') # 非法 JSON
except json.JSONDecodeError as e:
print("解析出錯:", e)
實戰(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用Beautiful Soup實現(xiàn)解析網(wǎng)頁
在這篇文章中,我們將介紹如何使用 Python 編寫一個簡單的網(wǎng)絡(luò)爬蟲,以獲取并解析網(wǎng)頁內(nèi)容。我們將使用 Beautiful Soup 庫,它是一個非常強大的庫,用于解析和操作 HTML 和 XML 文檔。讓我們開始吧2023-05-05
OpenCV-Python實現(xiàn)懷舊濾鏡與連環(huán)畫濾鏡
很多時候通過ps可以做很多效果,今天我們來介紹使用OpenCV-Python實現(xiàn)懷舊濾鏡與連環(huán)畫濾鏡,具有一定的參考價值,感興趣的可以了解一下2021-06-06
python + winrm 實現(xiàn)遠程連接Windows服務(wù)器并執(zhí)行指定命令的操作過程
Windows遠程管理(WinRM)是Windows Server 2003 R2,Windows Vista和Windows Server 2008中一種新式的方便遠程管理的服務(wù),這篇文章主要介紹了python + winrm 實現(xiàn)遠程連接Windows服務(wù)器并執(zhí)行指定命令的操作過程,需要的朋友可以參考下2023-10-10
Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運算式
這篇文章主要介紹了Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運算式,然后介紹了另外一個相關(guān)實例,具體內(nèi)容請參閱正文,需要的朋友可以參考下。2017-11-11
python游戲測試工具自動化遍歷游戲中所有關(guān)卡
這篇文章主要為大家介紹了python游戲測試工具自動化遍歷游戲中所有關(guān)卡示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06

