繁体   English   中英

循环JSON对象键=>数组

[英]Looping json object key => array

我在拉一个json对象,这是$.parseJSON输出的结果。 我了解它需要一个处理程序来帮助它,但不能确定帮助程序中包含什么。 读取其他用户的问题后,由于具有恒定的密钥,他们似乎能够跳过下一个箍,不幸的是,在我看来,这总是不同的。


杰森输出

[
{
    "High blood pressure?": [
        "no",
        "string"
    ]
},
{
    "Cancer?": [
        "no",
        "string"
    ]
},
{
    "Asthma or a breathing disorder?": [
        "no",
        "string"
    ]
}
]


{{#each screen_data}}
<tr>
    <td class="bold">{{this}}</td>
</tr>
{{/each}}

[Object object][Object object][Object object]......

您可以在下面尝试该小提琴。 它将为您提供JSON数据中的所有密钥

http://jsfiddle.net/tariqulazam/SjugS/

var data= [
{
    "High blood pressure?": [
        "no",
        "string"
    ]
},
{
    "Cancer?": [
        "no",
        "string"
    ]
},
{
    "Asthma or a breathing disorder?": [
        "no",
        "string"
    ]
}
];

for (var key in data) {
       for (var item in data[key]) {    
           alert(item);
       }
}

这是因为您有一个对象数组,这就是您要告诉模板写出的对象。 似乎您想在对象的根上写出唯一的属性,这是一个问题。

尝试这个:

{{#each screen_data}}
<tr>
    <td class="bold">{{this[0]}}</td>
</tr>
{{/each}}

我必须说,那是一个奇怪的JSON结构。 通常,将对象属性名称用作此类数据的载体被认为是较差的形式。

编辑:我建议将结构更改为可以更好地表示您的数据的结构,如下所示:

[{
    question: "High blood pressure?",
    answers: [
        "no",
        "string"
    ]
},
{
    questions: "Cancer?",
    answers: [
        "no",
        "string"
    ]
},
{
    question: "Asthma or a breathing disorder?",
    answers: [
        "no",
        "string"
    ]
}]

然后,这意味着您的模板将如下所示:

{{#each screen_data}}
<tr>
    <td class="bold">{{this.question}}</td>
</tr>
{{/each}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM