0

jsonオブジェクトをプルしています。これは$.parseJSON出力の結果です。私はそれを助けるためにハンドラーが必要であることを理解していますが、ヘルパーに何が属しているのかわかりません。他のユーザーの質問を読むと、キーが一定であるため、次のフープをジャンプできるようです。残念ながら、私の場合は常に異なります。


Json出力

[
{
    "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]......

4

2 に答える 2

0

以下でこのフィドルを試すことができます。それはあなたに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);
       }
}
于 2012-10-24T02:49:40.597 に答える
0

これは、オブジェクトの配列があるためです。これが、テンプレートにオブジェクトを書き出すように指示しているためです。オブジェクトのルートにある唯一のプロパティを書き出したいようですが、これは質問です。

これを試して:

{{#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}}
于 2012-10-24T02:58:45.120 に答える