Python-迭代嵌套JSON数据问题
我正在学习Python,在迭代json数据文件以获取某些键和值时遇到了一些问题。我一直在PHP中这样做,但出于某种原因,我发现在Python中这样做有点挑战性。我已经尝试了堆栈溢出的一些方法,但我觉得我肯定错过了一个基本的方法。欢迎提出任何建议 这是我的JSON数据,我正在从一个文件加载它:Python-迭代嵌套JSON数据问题,python,json,Python,Json,我正在学习Python,在迭代json数据文件以获取某些键和值时遇到了一些问题。我一直在PHP中这样做,但出于某种原因,我发现在Python中这样做有点挑战性。我已经尝试了堆栈溢出的一些方法,但我觉得我肯定错过了一个基本的方法。欢迎提出任何建议 这是我的JSON数据,我正在从一个文件加载它: { "pfcProductfeed": { "productfeed": { "models": [ {
{
"pfcProductfeed": {
"productfeed": {
"models": [
{
"model": {
"modelCode": "1",
"description": "Product 1"
}
},
{
"model": {
"modelCode": "2",
"description": "Product 2"
}
},
{
"model": {
"modelCode": "3",
"description": "Product 3"
}
}
]
}
}
}
我想做的是迭代每个“模型”,并在循环中显示每个模型的模型代码和描述。我试过这个:
import json
with open('data/stack.json') as f:
data = json.load(f)
models = data['pfcProductfeed']['productfeed']['models']
print(json.dumps(models, indent=4, sort_keys=True))
for model in models:
#print(json.dumps(model, indent=4, sort_keys=True))
print(model['description']) #How do I get at the keys, and their values
但这报告了错误:
打印(型号['description'])#如何获取键及其值
KeyError:“描述”
有没有人对如何正确地迭代这个问题有什么建议
非常感谢
詹姆斯参见下文
data = {
"pfcProductfeed": {
"productfeed": {
"models": [
{
"model": {
"modelCode": "1",
"description": "Product 1"
}
},
{
"model": {
"modelCode": "2",
"description": "Product 2"
}
},
{
"model": {
"modelCode": "3",
"description": "Product 3"
}
}
]
}
}
}
models = data['pfcProductfeed']['productfeed']['models']
for model in models:
print(model['model']['description'])
输出
Product 1
Product 2
Product 3
对模型中的模型使用
时:
模型是数组的对象。例如,第一个模型的含义是:
{
"model": {
"modelCode": "1",
"description": "Product 1"
}
}
因此,如果您想打印model
的键,您将拥有['model']
如果您希望您的型号为:
{
"modelCode": "1",
"description": "Product 1"
}
然后您可以使用
for model in models:
description = model['model']['description']
model['model']['description']
谢谢。我假设models:行中的for model表示我已经在数据中处于正确的级别。我相信当我用PHP做类似的事情时,它就是这样工作的。谢谢你的帮助!我要试一试!