[英]How to parse/extract nested JSON data with Python?
我目前正在嘗試從包含嵌套數據的JSON提要中提取產品數據。
嵌套結構如下所示: http : //live.icecat.biz/api/?shopname=openIcecat-live&lang=en&content=featuregroups&icecat_id=1334921
我基本上想提取數據庫中產品的基本數據表信息。 每個產品在“頂層”都有不同的功能類別,而在嵌套結構中則具有不同的功能類別。
到目前為止,我的代碼如下:
import requests
url2 = 'http://live.icecat.biz/api/?shopname=openIcecat-live&lang=de&content=featuregroups&icecat_id=1334921'
content = requests.get(url).content
j = json.loads(content)
for each in j['data']['FeaturesGroups']:
print each ['FeatureGroup']['Name']['Value']
它可以正常工作並打印每個要素類別的標題。 但是我無法解析各個功能。 我怎樣才能做到這一點 ?
我的嘗試是使用第二個循環來迭代j ['data'] ['FeaturesGroups'] ['Features'](請參見下文),但沒有成功:/
for each in j['data']['FeaturesGroups']:
for each in ['Features']:
print ['Feature']['ID']
非常感謝!
import requests
import json
url2 = 'http://live.icecat.biz/api/?shopname=openIcecat-live&lang=de&content=featuregroups&icecat_id=1334921'
content = requests.get(url2).content
j = json.loads(content)
for each in j['data']['FeaturesGroups']:
print each['FeatureGroup']['Name']['Value']
for i in each["Features"]:
print i["ID"]
import requests
import json
url = 'http://live.icecat.biz/api/?shopname=openIcecat-live&lang=de&content=featuregroups&icecat_id=1334921'
content = requests.get(url).content
j = json.loads(content)
def find_all(item, level):
if isinstance(item, dict):
for k in item:
print k
find_all(item[k],level+1)
else:
print ' '*level ,item
for each in j['data']['FeaturesGroups']:
find_all(each['FeatureGroup'], 0)
ID
3
Name
Language
DE
ID
437975
Value
Speicher
ID
28
Name
Language
DE
ID
437998
Value
Betriebsbedingungen
ID
146
Name
Language
DE
ID
624349
Value
Weitere Spezifikationen
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.