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