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)文章
pytorch 批次遍歷數(shù)據(jù)集打印數(shù)據(jù)的例子
今天小編就為大家分享一篇pytorch 批次遍歷數(shù)據(jù)集打印數(shù)據(jù)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Python使用Phantomjs截屏網(wǎng)頁(yè)的方法
今天小編就為大家分享一篇Python使用Phantomjs截屏網(wǎng)頁(yè)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Python 數(shù)據(jù)結(jié)構(gòu)之堆棧實(shí)例代碼
這篇文章主要介紹了Python 數(shù)據(jù)結(jié)構(gòu)之堆棧實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01python 線(xiàn)性回歸分析模型檢驗(yàn)標(biāo)準(zhǔn)--擬合優(yōu)度詳解
今天小編就為大家分享一篇python 線(xiàn)性回歸分析模型檢驗(yàn)標(biāo)準(zhǔn)--擬合優(yōu)度詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02