首页 > 解决方案 > Django:如何遍历 html 中的嵌套 Json 对象

问题描述

我是 json 新手,我在 django view.py 中有一个名为jresult的嵌套 json 对象。我将此对象传递给 html,我想在 html 中显示它。

在 view.py 中:

return render(request,'home.html', {'jresult': jresult})

结果:

{
  "company": "xxx", 
  "address": "xxx", 
  "ceo": "xxx,
  "employee": {
      "Emily": {
        "id": "xxx", 
        "gender": "xxx"
      }, 
      "Tom": {
        "id": "xxx", 
        "gender": "xxx"
      }, 
      "Alex": {
        "id": "xxx", 
        "gender": "xxx"
      }, 
    },  
}

到目前为止,我只能通过以下 html 代码循环遍历员工的姓名并将其显示在 html 页面中: Emily、Tom 和 Alex :

{% for obj in jresult.employee %}
    <p>{{obj}}</p>
{% endfor %}

我怎样才能访问id和gender,我试过了

{% for obj in jresult.employee %}
    <p>{{obj}}</p>
    {% for item in jresult.employee.obj.gender %}
        <p>{{item}}</p>
        {% endfor %}
{% endfor %}

但它不起作用。任何帮助将不胜感激。

标签: htmljsondjango

解决方案


JSON 是一种嵌套结构,因此您应该能够使用简单的点表示法访问相关对象的属性。employee如果要像这样遍历它们,则必须将字段作为数组而不是对象:

尝试这个:

{% for obj in jresult.employee %}
   <p>{{obj}}</p>
   <p>{{obj.id}}</p>
   <p>{{obj.gender}}</p>
{% endfor %}

推荐阅读