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

