簡體   English   中英

如何使用Python解析/提取嵌套的JSON數據?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM