Python提取JSON格式數(shù)據(jù)實戰(zhàn)案例
前言:
我們經(jīng)常會用到j(luò)son數(shù)據(jù),json數(shù)據(jù)格式主要是用來和不同語言之間進行交互
比如你要給java端的提供數(shù)據(jù),你需要將自己的數(shù)據(jù)轉(zhuǎn)換為json格式才行
所以不管是提供給后端其他人,還是從API返回的數(shù)據(jù)結(jié)果,我們都需要封裝成json數(shù)據(jù)格式或者解析json數(shù)據(jù)
json的數(shù)據(jù)格式類似于python中的字典,都是key:value,當(dāng)然value也可以是數(shù)組的格式
一、JSON使用
1.導(dǎo)入json的包
import json
2.常用的方法
| 函數(shù) | 描述 |
|---|---|
| json.dumps | 將python的數(shù)據(jù)轉(zhuǎn)為json格式提供出去 |
| json.loads | 將json格式數(shù)據(jù)解析為python格式 |
舉例:json.loads()
import json
strDict = '{"city": "廣州", "name": "小黑"}'
print(type(strDict)) #<class 'str'>
# 將json格式數(shù)據(jù)轉(zhuǎn)換為python格式,可以看出將str還原為了dict格式
r = json.loads(strDict)
print(r,type(r)) # {'city': '廣州', 'name': '小黑'} <class 'dict'>json.dumps()
import json
listStr = [1, 2, 3, 4]
dictStr = {"city": "北京", "name": "大貓"}
print(type(listStr)) # <class 'list'>
print(type(dictStr)) #<class 'dict'>
# 將python數(shù)據(jù)轉(zhuǎn)為json格式,可以看出轉(zhuǎn)換后的數(shù)據(jù)類型均變?yōu)榱藄tr
s1 = json.dumps(listStr)
s2 = json.dumps(dictStr,ensure_ascii=False)
print(s1,type(s1)) # [1, 2, 3, 4] <class 'str'>
print(s2,type(s2)) # {"city": "北京", "name": "大貓"} <class 'str'>二、實戰(zhàn)
1.json.loads()
json的數(shù)據(jù)格式如下
{
"animals": {
"dog": [
{
"name": "Rufus",
"age":15
},
{
"name": "Marty",
"age": null
}
]
}
}我們想要取出json格式中所有狗的名字:
load_data = json.loads(dump_data)
data = load_data['animals']['dog']
result1 = []
for i in data:
result1.append(i.["name"])
print(result1)運行結(jié)果
['Rufus', 'Marty']
2.jsonpath
如果用jsonpath工具如何取數(shù)呢?
load_data = json.loads(dump_data)
jobs=load_data['animals']['dog']
result2 = []
for i in data:
# 從根節(jié)點開始,匹配name節(jié)點
result2.append(jsonpath.jsonpath(i,'$..name')[0])
print(result2)

總結(jié)
到此這篇關(guān)于Python提取JSON格式數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python提取JSON數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)圖片加文字水印OPenCV和PIL庫
本文來為大家介紹一下,使用python中的庫實現(xiàn)給圖片添加文字水印,openCV可以給圖片添加水印,如果要添加漢字水印那就要使用PIL庫2021-09-09
用Python自動清理電腦內(nèi)重復(fù)文件,只要10行代碼(自動腳本)
這篇文章主要介紹了用Python自動清理電腦內(nèi)重復(fù)文件,只要10行代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
python實現(xiàn)圖片,視頻人臉識別(opencv版)
這篇文章主要介紹了python實現(xiàn)圖像,視頻人臉識別(opencv版)的的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-11-11
matplotlib實現(xiàn)熱成像圖colorbar和極坐標(biāo)圖的方法
今天小編就為大家分享一篇matplotlib實現(xiàn)熱成像圖colorbar和極坐標(biāo)圖的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python?Fuzzywuzzy庫基本函數(shù)及模糊字符串匹配應(yīng)用實戰(zhàn)
fuzzywuzzy?是一個用于模糊字符串匹配的?Python?庫,它基于編輯距離算法,提供了多個函數(shù)來比較字符串之間的相似性,在實際開發(fā)中,字符串匹配是一項常見但具有挑戰(zhàn)性的任務(wù),用戶可能犯拼寫錯誤,使用縮寫或者輸入同義詞,因此,我們需要一種方法來處理這些情況2023-12-12
python字典如何獲取最大和最小value對應(yīng)的key
這篇文章主要介紹了python字典如何獲取最大和最小value對應(yīng)的key問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
django mysql數(shù)據(jù)庫及圖片上傳接口詳解
這篇文章主要介紹了django mysql數(shù)據(jù)庫及圖片上傳接口詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07

