如何 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
我目前正在尝试从包含嵌套数据的 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