Python中如何快速解析JSON對象數(shù)組
JavaScript Object Notation
JSON (JavaScript Object Notation)是一種用于數(shù)據(jù)交換的語法,它對人的讀寫很簡單,對計算機的解析和生產(chǎn)也很簡單,而且還可以存儲數(shù)據(jù)。
它是一種不偏向語言的全文格式。此外,Python包括一個名為json 的庫,我們可以用它來與JSON數(shù)據(jù)進行交互。--p>
JSON的語法被認(rèn)為是JavaScript語法的一部分,它還包括name 和value ,因為name 在表示數(shù)據(jù)時前面有一個冒號(:),name: value 對被逗號分割。
對象在大括號中,而數(shù)組元素住在方括號中,每個值之間用逗號隔開。在開始解析JSON之前,Python需要一些JSON來進行處理。
有幾件事情我們必須最初設(shè)置好。首先制作一個Python文件,它將包含這些練習(xí)的代碼。然后,在該文件中導(dǎo)入JSON模塊。
JSON對象
由于瀏覽器可以迅速地解析JSON對象,它們有助于在客戶端和服務(wù)器之間傳輸數(shù)據(jù)。字符串、整數(shù)(浮點數(shù)或英寸)、布爾值、列表、空或另一個JSON對象都是JSON對象鍵的可接受值。
在下面的例子中,創(chuàng)建了一個由字典填充的對象json_string ,該對象中的數(shù)據(jù)將通過使用json.load() 方法進行解析,然后打印輸出中顯示的數(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ù)組的對象
JSON數(shù)組的結(jié)構(gòu)與Python括號內(nèi)的列表的結(jié)構(gòu)相同。它們可能包括嵌套數(shù)組和與JSON對象字段值相同的數(shù)據(jù)類型。使用內(nèi)置包json 的json.loads() 函數(shù),將一個JSON字符串轉(zhuǎn)化為Python對象。
JSON數(shù)據(jù)字符串由json.loads() 函數(shù)解析,然后提供一個包含JSON中所有數(shù)據(jù)的Python字典。你可以通過使用名字或索引來引用對象,從這個 Python 字典中獲得解析的數(shù)據(jù)。
我們還可以檢查字典中的嵌套JSON項目。使用相關(guā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ù)組轉(zhuǎn)換為Python數(shù)組數(shù)據(jù)類型。在Python對象中使用其索引可以從JSON數(shù)組中獲得一個元素。
示例代碼:
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對象數(shù)組的詳細(xì)內(nèi)容,更多關(guān)于Python解析JSON對象數(shù)組的資料請關(guān)注腳本之家其它相關(guān)文章!
- 關(guān)于python實現(xiàn)json/字典數(shù)據(jù)中所有key路徑拼接組合問題
- Python查找不限層級Json數(shù)據(jù)中某個key或者value的路徑方式
- Python文件操作JSON CSV TSV Excel和Pickle文件序列化
- Python開發(fā)寶典CSV JSON數(shù)據(jù)處理技巧詳解
- Python中數(shù)據(jù)類轉(zhuǎn)換為JSON的方法詳解
- Python存儲json數(shù)據(jù)發(fā)生亂碼的解決方法
- 使用Python讀取json文件的方法小結(jié)
- python Aligo庫設(shè)置json路徑使用詳解
相關(guān)文章
pytorch 批次遍歷數(shù)據(jù)集打印數(shù)據(jù)的例子
今天小編就為大家分享一篇pytorch 批次遍歷數(shù)據(jù)集打印數(shù)據(jù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python使用Phantomjs截屏網(wǎng)頁的方法
今天小編就為大家分享一篇Python使用Phantomjs截屏網(wǎng)頁的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
Python 數(shù)據(jù)結(jié)構(gòu)之堆棧實例代碼
這篇文章主要介紹了Python 數(shù)據(jù)結(jié)構(gòu)之堆棧實例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01
python 線性回歸分析模型檢驗標(biāo)準(zhǔn)--擬合優(yōu)度詳解
今天小編就為大家分享一篇python 線性回歸分析模型檢驗標(biāo)準(zhǔn)--擬合優(yōu)度詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02

