python實(shí)現(xiàn)提取str字符串/json中多級(jí)目錄下的某個(gè)值
字符串多級(jí)目錄取值:
比如說(shuō):
你response接收到的數(shù)據(jù)是這樣的。
你現(xiàn)在只需要取到itemstring 這個(gè)字段下的值。其他的都不要!
思路就是:字符串是個(gè)json格式(或轉(zhuǎn)為json格式),然后str轉(zhuǎn)為字典dict,然后循環(huán)遍歷按照key來(lái)取值。
你的data是個(gè)字典 然后item_list是data的Key ,item_list是個(gè)數(shù)組,這個(gè)里面的數(shù)組中的每個(gè)元素都是一個(gè)字典。
因此就是dict多級(jí)路徑按key取值。
# 多級(jí)目錄提取-dict print(type(response)) print(type(response.text)) result = json.loads(resp.text) # 字符串轉(zhuǎn)字典 print(type(result)) for i in result["data"]["item_list"]: print(i["itemstring"]) 結(jié)果》》》 <class 'requests.models.Response'> <class 'str'> <class 'dict'> 提取的值。。。。。。出現(xiàn)
最后獲取出來(lái)的是:
所有itemstring字段的值:(遍歷出來(lái)的)
看得懂的就是需要的。這是我調(diào)用騰訊API,然后出現(xiàn)返回值是一個(gè)含有N個(gè)字段的json數(shù)據(jù),最后我提取出來(lái)OCR識(shí)別的部分。其他的沒(méi)有要。
補(bǔ)充拓展:按照J(rèn)son的層級(jí)提取各個(gè)字段的實(shí)例
如下所示:
String s = "{\"error\":0,\"status\":\"success\",\"results\":[{\"currentCity\":\"青島\",\"index\":[{\"title\":\"穿衣\",\"zs\":\"較冷\",\"tipt\":\"穿衣指數(shù)\",\"des\":\"建議著厚外套加毛衣等服裝。年老體弱者宜著大衣、呢外套加羊毛衫。\"},{\"title\":\"紫外線強(qiáng)度\",\"zs\":\"最弱\",\"tipt\":\"紫外線強(qiáng)度指數(shù)\",\"des\":\"屬弱紫外線輻射天氣,無(wú)需特別防護(hù)。若長(zhǎng)期在戶(hù)外,建議涂擦SPF在8-12之間的防曬護(hù)膚品。\"}],}]}"; JSONObject jsonObject = JSON.parseObject(s); //提取出error為 0 int error = (int) jsonObject.get("error"); System.out.println("error:" + error); //提取出status為 success String status = jsonObject.getString("status"); System.out.println("status:" + status); //注意:results中的內(nèi)容帶有中括號(hào)[],所以要轉(zhuǎn)化為JSONArray類(lèi)型的對(duì)象 JSONArray result = jsonObject.getJSONArray("results"); for (int i = 0; i < result.size(); i++) { //提取出currentCity為 青島 String currentCity = result.getJSONObject(i).getString("currentCity"); System.out.println("currentCity:" + currentCity); //注意:index中的內(nèi)容帶有中括號(hào)[],所以要轉(zhuǎn)化為JSONArray類(lèi)型的對(duì)象 JSONArray index = result.getJSONObject(i).getJSONArray("index"); for (int j = 0; j < index.size(); j++) { String title = index.getJSONObject(j).getString("title"); System.out.println("title:" + title); String zs = index.getJSONObject(j).getString("zs"); System.out.println("zs:" + zs); String tipt = index.getJSONObject(j).getString("tipt"); System.out.println("tipt:" + tipt); String des = index.getJSONObject(j).getString("des"); System.out.println("des:" + des); } } }
以上這篇python實(shí)現(xiàn)提取str字符串/json中多級(jí)目錄下的某個(gè)值就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何利用Opencv實(shí)現(xiàn)圖像的加密解密
一般情況下,圖像的加密和解密過(guò)程是通過(guò)按位異或運(yùn)算實(shí)現(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于如何利用Opencv實(shí)現(xiàn)圖像加密解密的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2021-10-10Python中跳臺(tái)階、變態(tài)跳臺(tái)階與矩形覆蓋問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于Python中跳臺(tái)階、變態(tài)跳臺(tái)階與矩形覆蓋問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05150行python代碼實(shí)現(xiàn)貪吃蛇游戲
這篇文章主要為大家詳細(xì)介紹了150行python代碼實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04Python基本數(shù)據(jù)類(lèi)型詳細(xì)介紹
Python提供的基本數(shù)據(jù)類(lèi)型主要有:布爾類(lèi)型、整型、浮點(diǎn)型、字符串、列表、元組、集合、字典等等2014-03-03對(duì)django 2.x版本中models.ForeignKey()外鍵說(shuō)明介紹
這篇文章主要介紹了對(duì)django 2.x版本中models.ForeignKey()外鍵說(shuō)明介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03python標(biāo)準(zhǔn)庫(kù) datetime的astimezone設(shè)置時(shí)區(qū)遇到的坑及解決
這篇文章主要介紹了python標(biāo)準(zhǔn)庫(kù) datetime的astimezone設(shè)置時(shí)區(qū)遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09使用Python實(shí)現(xiàn)毫秒級(jí)搶單功能
年中購(gòu)物618大狂歡開(kāi)始了,各大電商又開(kāi)始了大力度的折扣促銷(xiāo),我們的小胖又給大家謀了一波福利,淘寶APP直接搜索:小胖發(fā)福利,每天領(lǐng)取三次粉絲專(zhuān)屬現(xiàn)金大紅包。這篇文章主要介紹了用Python完成毫秒級(jí)搶單,助你秒殺淘寶大單,需要的朋友可以參考下2019-06-06Django中自定義admin Xadmin的實(shí)現(xiàn)代碼
這篇文章主要介紹了Django中自定義admin---Xadmin的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-08-08