如何在JSON中获取嵌套字典?

时间:2017-07-22 11:21:51

标签: python json django

我无法理解为什么我无法在JSON数据中获取某些数据。我在Django上使用JSONField,我想在获取它们之后更改一些特定的数据。这是我写的:

for apple in Apples.objects.filter(json__contains=[{'provenance': 'Spain'}]):
    for ap in apple.json:
        for key, value in ap.items():
            print(value.color)
  

AttributeError:'dict'对象没有属性'color'

当我打印value时,我有这样的事情:

{'color': 'red', 'size': '20x20', 'good_till': '01.08.2017'}

所以我不明白为什么错误说没有属性color而有一个?我做错了什么?

2 个答案:

答案 0 :(得分:1)

你需要:

print (value.get('color', ''))

因为颜色是关键,而不是属性

答案 1 :(得分:1)

嘿,所以使用点符号,例如" print(value.color)"是如何使用jinja在html方面做的,但是当在python文件中访问键的值时,它使用方括号。希望这有帮助

值['颜色']将返回红色。 所以改变它 值['颜色'] =蓝色会改变它 然后在html做{{value.color}}。 希望这有帮助