詳解Python如何解析JSON中的對(duì)象數(shù)組
由于瀏覽器可以快速解析 JSON 對(duì)象,因此它們有助于在客戶(hù)端和服務(wù)器之間傳輸數(shù)據(jù)。 本文將介紹如何使用Python的JSON模塊傳輸和接收J(rèn)SON數(shù)據(jù)。
JavaScript 對(duì)象表示法
JSON(JavaScript Object Notation)是一種數(shù)據(jù)交換語(yǔ)法,易于人們讀寫(xiě),易于計(jì)算機(jī)解析和生成并存儲(chǔ)數(shù)據(jù)。
它是一種不偏向語(yǔ)言的全文格式。 此外,Python 還包含一個(gè)名為 json 的庫(kù),我們可以使用它與 JSON 數(shù)據(jù)進(jìn)行交互。
JSON 的語(yǔ)法被視為 JavaScript 語(yǔ)法的一部分,其中還包括名稱(chēng)和值,因?yàn)槊Q(chēng)前面有冒號(hào) (?? 來(lái)表示數(shù)據(jù),名稱(chēng):值對(duì)之間用逗號(hào)分隔。
對(duì)象位于大括號(hào)中,而數(shù)組元素位于方括號(hào)中,其中用逗號(hào)分隔每個(gè)值。 在開(kāi)始解析 JSON 之前,Python 需要一些 JSON 來(lái)處理。
我們必須首先設(shè)置一些東西。 首先創(chuàng)建一個(gè) Python 文件,其中包含這些練習(xí)的代碼。 然后,導(dǎo)入文件中的 JSON 模塊。
Python 中的 JSON 對(duì)象
由于瀏覽器可以快速解析 JSON 對(duì)象,因此它們有助于在客戶(hù)端和服務(wù)器之間傳輸數(shù)據(jù)。 字符串、整數(shù)(浮點(diǎn)數(shù)或整數(shù))、布爾值、列表、null 或其他 JSON 對(duì)象都是 JSON 對(duì)象鍵可接受的值。
在下面的示例中,創(chuàng)建了一個(gè)由字典填充的對(duì)象 json_string,將使用 json.load() 方法解析該對(duì)象中的數(shù)據(jù),然后打印輸出中顯示的數(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'}}
在 Python 中解析 JSON 對(duì)象數(shù)組
JSON 數(shù)組的結(jié)構(gòu)與 Python 括號(hào)列表的結(jié)構(gòu)相同。 它們可能包括嵌套數(shù)組和與 JSON 對(duì)象字段值相同的數(shù)據(jù)類(lèi)型。 使用內(nèi)置包 json 的 json.loads() 函數(shù)將 JSON 字符串轉(zhuǎn)換為 Python 對(duì)象。
JSON 數(shù)據(jù)字符串由 json.loads() 函數(shù)解析,然后該函數(shù)提供包含 JSON 中所有數(shù)據(jù)的 Python 字典。 您可以通過(guò)使用名稱(chēng)或索引來(lái)引用對(duì)象,從該 Python 字典中獲取解析后的數(shù)據(jù)。
我們還可以檢查字典中的嵌套 JSON 項(xiàng)。 使用關(guān)聯(lián)的方法 json.load() 解析 JSON 文件(不帶 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}]}}
此示例通過(guò) JSON 解碼器將 JSON 數(shù)組轉(zhuǎn)換為 Python 數(shù)組數(shù)據(jù)類(lèi)型。 在 Python 對(duì)象中使用其索引可以從 JSON 數(shù)組中獲取元素。
示例代碼:
import json
json_str = """
{
"Orders": [
{"Id": 151},
{"Id": 120},
{"Id": 131},
{"Id": 114}
]
}
"""''
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
到此這篇關(guān)于詳解Python如何解析JSON中的對(duì)象數(shù)組的文章就介紹到這了,更多相關(guān)python解析json對(duì)象數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?format()函數(shù)進(jìn)行高級(jí)字符串格式化詳解
format()是Python中功能強(qiáng)大的字符串格式化工具,它提供了比傳統(tǒng)%格式化更靈活,更強(qiáng)大的方式來(lái)處理字符串格式化,下面我們就來(lái)全面講解一下format()函數(shù)的使用方法吧2025-05-05
Python實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的示例代碼
Tkinter作為 Python GUI 開(kāi)發(fā)工具之一,它具有 GUI 軟件包的必備的常用功能。本文就將利用Tkinter編寫(xiě)簡(jiǎn)易的計(jì)算器,感興趣的可以了解一下2022-11-11
Python輕松實(shí)現(xiàn)刪除Excel工作表中的空白行列
在處理 Excel 數(shù)據(jù)時(shí),空白行和空白列常常會(huì)影響數(shù)據(jù)分析,本文將介紹如何使用 Python 對(duì) Excel 工作表中的空白行和列進(jìn)行刪除,感興趣的小伙伴可以了解下2025-09-09
Python中內(nèi)建函數(shù)的簡(jiǎn)單用法說(shuō)明
這篇文章主要介紹了Python中內(nèi)建函數(shù)的簡(jiǎn)單用法說(shuō)明,包括apply()、filter()、reduce()、map()四個(gè)函數(shù)的用法講解,需要的朋友可以參考下2016-05-05
python playwright實(shí)現(xiàn)獲取當(dāng)前頁(yè)面的截圖
這篇文章主要為大家詳細(xì)介紹了python playwright實(shí)現(xiàn)獲取當(dāng)前頁(yè)面的截圖的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2025-12-12
python判斷數(shù)字是否是超級(jí)素?cái)?shù)冪
這篇文章主要為大家詳細(xì)介紹了python判斷數(shù)字是否是超級(jí)素?cái)?shù)冪,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09

