如何在角度上显示json列表?

时间:2015-09-25 06:44:39

标签: javascript json angularjs

我在html

中显示JSON元素时遇到问题

这是JSON

peopleList: [
    {
        name: 'John',
        address: 'Street A, 143',
        sons: [{
            First: "Jack",
            Second: "Jane",
            Third: "Maria"
        }]
    }]

这是html

<div ng-repeat="people in peopleList">
    <span class="">name: {{people.name}}</span><br>
    <span class="">sons: {{people.sons}}</span>
</div>

这个节目Sons:[{&#34; First&#34;:&#34; Jack&#34;,&#34; Second&#34;:&#34; Jane&#34;,&#34;第三个&#34;:&#34; Maria&#34;,&#34; _id&#34;:&#34; 5604e8e474758451s6d813&#34;}]

我尝试过使用

people.sons.First

但没有显示任何内容

4 个答案:

答案 0 :(得分:1)

您的ng-repeat迭代看起来有点可疑,请尝试以下

<div  ng-repeat="name in names">
   <span class="">name: {{name.name}}</span><br>
   <span class="">sons: {{name.sons.First}}</span>

 </div>

如果您想迭代Sons,那么它可能如下所示

<div  ng-repeat="name in names">
   <span class="">name: {{name.name}}</span><br>
   <span class="" ng-repeat="son in name.sons">
                 sons First: {{son.First}}
                 sons Second: {{son.Second}}                       
                 sons Third: {{son.Third}}                       
    </span>

 </div>

答案 1 :(得分:1)

您需要的是

{{people.sons[0].First}}

如果你只需要展示第一个儿子。

这是因为你的sons属性是一个数组(这有点奇怪 - 它意味着你有第二个设置的儿子?:-))。 [0]选择该集,.First选择Jack

答案 2 :(得分:0)

使用

 <span class="">name: {{name.name}}</span><br>
   <span class="">sons: {{name.sons.First}}</span>

答案 3 :(得分:0)

您正在重复namesname,所以如果您在names中有一个json数组并且想要渲染,请根据您的示例使用name.name ng-repeat中的html中的name.sons