如何 parse/extract 嵌套 JSON 数据与 Python?

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

我基本上想提取数据库中产品的基本数据表信息。每个产品在 "top-level" 处有不同的功能类别,在嵌套结构中有不同的功能类别。

到目前为止,我的代码如下所示:

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