Python中如何快速解析JSON對象數(shù)組
JavaScript Object Notation
JSON (JavaScript Object Notation)是一種用于數(shù)據(jù)交換的語法,它對人的讀寫很簡單,對計算機的解析和生產(chǎn)也很簡單,而且還可以存儲數(shù)據(jù)。
它是一種不偏向語言的全文格式。此外,Python包括一個名為json 的庫,我們可以用它來與JSON數(shù)據(jù)進行交互。--p>
JSON的語法被認為是JavaScript語法的一部分,它還包括name 和value ,因為name 在表示數(shù)據(jù)時前面有一個冒號(:),name: value 對被逗號分割。
對象在大括號中,而數(shù)組元素住在方括號中,每個值之間用逗號隔開。在開始解析JSON之前,Python需要一些JSON來進行處理。
有幾件事情我們必須最初設(shè)置好。首先制作一個Python文件,它將包含這些練習(xí)的代碼。然后,在該文件中導(dǎo)入JSON模塊。
JSON對象
由于瀏覽器可以迅速地解析JSON對象,它們有助于在客戶端和服務(wù)器之間傳輸數(shù)據(jù)。字符串、整數(shù)(浮點數(shù)或英寸)、布爾值、列表、空或另一個JSON對象都是JSON對象鍵的可接受值。
在下面的例子中,創(chuàng)建了一個由字典填充的對象json_string ,該對象中的數(shù)據(jù)將通過使用json.load() 方法進行解析,然后打印輸出中顯示的數(shù)據(jù)。
示例代碼:
import json
json_string = """
{
"Student": {
"ID" : "3",
"name": "kelvin",
"Group": "A",
"Program" : "BSSE"
}
}
"""
data = json.loads(json_string)
print (data)輸出:
{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}}
解析JSON數(shù)組的對象
JSON數(shù)組的結(jié)構(gòu)與Python括號內(nèi)的列表的結(jié)構(gòu)相同。它們可能包括嵌套數(shù)組和與JSON對象字段值相同的數(shù)據(jù)類型。使用內(nèi)置包json 的json.loads() 函數(shù),將一個JSON字符串轉(zhuǎn)化為Python對象。
JSON數(shù)據(jù)字符串由json.loads() 函數(shù)解析,然后提供一個包含JSON中所有數(shù)據(jù)的Python字典。你可以通過使用名字或索引來引用對象,從這個 Python 字典中獲得解析的數(shù)據(jù)。
我們還可以檢查字典中的嵌套JSON項目。使用相關(guān)的方法json.load() 來解析一個JSON文件(沒有s)。在下面的例子中,我們使用json.loads 來解析數(shù)組中的值。
示例代碼:
import json
json_string = """
{
"Student": {
"ID" : "3",
"name": "kelvin",
"Group": "A",
"Program" : "BSSE",
"cars": [
{"model": "BMW 330e", "mpg": 143},
{"model": "Rolls-Royce Phantom EWB", "mpg": 18}
]
}
}
"""
data = json.loads(json_string)
print (data)輸出:
{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE', 'cars': [{'model': 'BMW 330e', 'mpg': 143}, {'model': 'Rolls-Royce Phantom EWB', 'mpg': 18}]}}
這個例子通過JSON解碼器將JSON數(shù)組轉(zhuǎn)換為Python數(shù)組數(shù)據(jù)類型。在Python對象中使用其索引可以從JSON數(shù)組中獲得一個元素。
示例代碼:
import json
json_str = """
{
"Orders": [
{"Id": 151},
{"Id": 120},
{"Id": 131},
{"Id": 114}
]
} #Python小白學(xué)習(xí)交流群:711312441
"""''
data = json.loads(json_str)
order_1_id = data['Orders'][0]['Id']
order_2_id = data['Orders'][1]['Id']
order_3_id = data['Orders'][0]['Id']
order_4_id = data['Orders'][1]['Id']
total = len(data['Orders'])
print(f"Order #1: {order_1_id}, Order #2: {order_2_id}, Total Orders: {total}")輸出:
Order #1: 151, Order #2: 120, Total Orders: 4
以上就是Python中如何快速解析JSON對象數(shù)組的詳細內(nèi)容,更多關(guān)于Python解析JSON對象數(shù)組的資料請關(guān)注腳本之家其它相關(guān)文章!
- 關(guān)于python實現(xiàn)json/字典數(shù)據(jù)中所有key路徑拼接組合問題
- Python查找不限層級Json數(shù)據(jù)中某個key或者value的路徑方式
- Python文件操作JSON CSV TSV Excel和Pickle文件序列化
- Python開發(fā)寶典CSV JSON數(shù)據(jù)處理技巧詳解
- Python中數(shù)據(jù)類轉(zhuǎn)換為JSON的方法詳解
- Python存儲json數(shù)據(jù)發(fā)生亂碼的解決方法
- 使用Python讀取json文件的方法小結(jié)
- python Aligo庫設(shè)置json路徑使用詳解
相關(guān)文章
pip?install?jupyterlab失敗的原因問題及探索
在學(xué)習(xí)Yolo模型時,嘗試安裝JupyterLab但遇到錯誤,錯誤提示缺少Rust和Cargo編譯環(huán)境,因為pywinpty包需要它們來編譯,由于在conda環(huán)境下操作,Rust和Cargo已經(jīng)安裝,問題是pywinpty包丟失,安裝pywinpty包后,再次執(zhí)行pip?install?jupyterlab即可正常下載2025-02-02
Python函數(shù)參數(shù)類型及排序原理總結(jié)
這篇文章主要介紹了Python函數(shù)參數(shù)類型及排序原理總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12
從入門到精通詳解Python數(shù)據(jù)可視化的深度指南
在Python的數(shù)據(jù)科學(xué)領(lǐng)域,可視化工具的選擇往往決定了分析效率與呈現(xiàn)效果,下面小編就為大家詳細介紹一下Python中數(shù)據(jù)可視化的相關(guān)知識,希望對大家有所幫助2026-03-03
深度解析Python自動化截圖和錄屏的3大方案(PIL/mss/ffmpeg)
做自動化開發(fā)久了會發(fā)現(xiàn),截圖/錄屏是個高頻卻容易被輕視的需求,本文將為大家整理三種常用的方法,PIL,mss和ffmpeg,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-12-12

