詳解Python如何解析JSON中的對象數組
由于瀏覽器可以快速解析 JSON 對象,因此它們有助于在客戶端和服務器之間傳輸數據。 本文將介紹如何使用Python的JSON模塊傳輸和接收JSON數據。
JavaScript 對象表示法
JSON(JavaScript Object Notation)是一種數據交換語法,易于人們讀寫,易于計算機解析和生成并存儲數據。
它是一種不偏向語言的全文格式。 此外,Python 還包含一個名為 json 的庫,我們可以使用它與 JSON 數據進行交互。
JSON 的語法被視為 JavaScript 語法的一部分,其中還包括名稱和值,因為名稱前面有冒號 (?? 來表示數據,名稱:值對之間用逗號分隔。
對象位于大括號中,而數組元素位于方括號中,其中用逗號分隔每個值。 在開始解析 JSON 之前,Python 需要一些 JSON 來處理。
我們必須首先設置一些東西。 首先創(chuàng)建一個 Python 文件,其中包含這些練習的代碼。 然后,導入文件中的 JSON 模塊。
Python 中的 JSON 對象
由于瀏覽器可以快速解析 JSON 對象,因此它們有助于在客戶端和服務器之間傳輸數據。 字符串、整數(浮點數或整數)、布爾值、列表、null 或其他 JSON 對象都是 JSON 對象鍵可接受的值。
在下面的示例中,創(chuàng)建了一個由字典填充的對象 json_string,將使用 json.load() 方法解析該對象中的數據,然后打印輸出中顯示的數據。
示例代碼:
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 對象數組
JSON 數組的結構與 Python 括號列表的結構相同。 它們可能包括嵌套數組和與 JSON 對象字段值相同的數據類型。 使用內置包 json 的 json.loads() 函數將 JSON 字符串轉換為 Python 對象。
JSON 數據字符串由 json.loads() 函數解析,然后該函數提供包含 JSON 中所有數據的 Python 字典。 您可以通過使用名稱或索引來引用對象,從該 Python 字典中獲取解析后的數據。
我們還可以檢查字典中的嵌套 JSON 項。 使用關聯的方法 json.load() 解析 JSON 文件(不帶 s)。 在下面的示例中,我們使用 json.loads 來解析數組中的值。
示例代碼:
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 數組轉換為 Python 數組數據類型。 在 Python 對象中使用其索引可以從 JSON 數組中獲取元素。
示例代碼:
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
到此這篇關于詳解Python如何解析JSON中的對象數組的文章就介紹到這了,更多相關python解析json對象數組內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

