Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django模板中的字典中迭代字典_Python - Fatal编程技术网

Python 在django模板中的字典中迭代字典

Python 在django模板中的字典中迭代字典,python,Python,我想从上面的json响应中获取内容详细信息中的名称,但我无法迭代它。如何做到这一点?如果dict是上述结构的名称,dict['0']['content_details']['name']是您正在寻找的财产(“本例中为钟声之歌-阿杰·劳斯”) 结果: json.load(open("/tmp/j.json"))["0"]["content_details"]["name"] 你可以试试这个: all_content_details=[your_json[x]['content_details'

我想从上面的json响应中获取内容详细信息中的名称,但我无法迭代它。如何做到这一点?

如果
dict
是上述结构的名称,
dict['0']['content_details']['name']
是您正在寻找的财产(“本例中为钟声之歌-阿杰·劳斯”)

结果:

json.load(open("/tmp/j.json"))["0"]["content_details"]["name"]
你可以试试这个:

all_content_details=[your_json[x]['content_details']for x in your_json.keys()]
打印(所有内容详细信息)
导入json
strJson=''
'''
dictJson=json.loads(strJson)
#Python2.X
对于键,dictJson.iteritems()中的值:
打印(值['content_details']['name'])
#Python3.X
对于键,dictJson.items()中的值:
打印(值['content_details']['name'])

我想你是在找这样的东西吧

import json

strJson = '''
 <your JSON string>
'''

dictJson = json.loads(strJson)

# python 2.X
for key, value in dictJson.iteritems():
    print (value['content_details']['name'])

# python 3.X
for key, value in dictJson.items():
    print (value['content_details']['name'])

你不能迭代是什么意思?您是否尝试过对my_dict中的项执行
?如果要访问特定的键,为什么要进行迭代?为什么不干脆
my_dict['0']['content\u details']['name']
?Hello@ChidanandaNayak。请告诉我们你试过什么。您的问题被否决,因为我们希望您分享您的尝试。@Corentilimier是的,我尝试过这个代码,但似乎我弄错了。。对于数据['0']中的i:。。。对于i['content_details']中的j:。。。print(j)@chidandananayak请编辑您的帖子并添加此代码,以及您得到的错误或结果。为什么要使用pprint打印字符串?您的代码不会在python3中编译,实际上缺少括号,除非
distJson
非常长,否则您可以使用
items()
,无论Python版本如何。创建generator对象和使用其接口的开销与创建对列表(键、值)的成本相当。您应该使用
json.loads()
将字符串解析为json
json.load()
解析文件。我对您的回答有以下问题:(1)您假设
d
属于
dict
类型,而问题提到了“json响应”,因此可能是将json解析为dict而不是迭代dict。(2)您的代码只访问原始结构中的“0”键,但是有人问我们关于“迭代”的问题,所以可能有更多的键,您应该迭代顶级键,从每个键获取或打印
value[“content\u details”][“name”]
。@Abgan啊,好的:)欢迎使用堆栈溢出!感谢您提供的代码片段,它可能会提供一些有限的、即时的帮助。一个恰当的解释将通过描述为什么这是一个很好的问题解决方案来极大地改进its,并将使它对未来有其他类似问题的读者更有用。请编辑您的答案,添加一些解释,包括您所做的假设。
'Carol of the Bells SATB - arr. Jay Rouse'
import json
from pprint import pprint

with open('data.json') as f:
    data = json.load(f)

pprint(data["0"]["content_details"]["name"])
import json

strJson = '''
 <your JSON string>
'''

dictJson = json.loads(strJson)

# python 2.X
for key, value in dictJson.iteritems():
    print (value['content_details']['name'])

# python 3.X
for key, value in dictJson.items():
    print (value['content_details']['name'])
j = json.load(json_string)
for x in j:
    print(j[x]['content_details']['name'])
for item, value in d['0']['content_details'].items():
    if item == 'name':
        break
    print(value)