0

この回答はJSONからのデータの取得を扱っているのを見ました。私はほぼ同じことをしようとしていますが、私のJSONは配列/オブジェクトに関しては構造が異なり、同じ方法で解析する方法がわかりません。

私のJSONはこの形式であり、リンクされた質問に基づいて特定の要素を検索する関数を作成しようとしていますが、jsonの要素のキーがないため、ターゲットを設定する方法がわかりません。または、jsonの出力を再作成する必要がありますか?(これは、変更されたcodeigniterdbクエリからjson_encodeによって作成されています。

$(function() {
var json = [
  {

    "answer": [

      "4555"

    ],
    "answer_string": "4555|",
    "qid": "70",
    "aid": "742"
  }, 
 {

    "answer": [

      "monkeys",
      "badgers",
      "monkeybadgers"

    ],
    "answer_string": "monkeys|badgers|monkeybadgers|",
    "qid": "71",
    "aid": "742"
  }
];
    $.each(json[], function(i, v) {
        if (v.qid= "70") {
            alert(v.answer[0]);
            return;
        }
    });
});​

jsfiddle

qidが特定の数と一致するanswer[0]を見つける必要があります。

4

2 に答える 2

1

あなたのJavaScriptはめちゃくちゃです。更新されたフィドルを参照してください。

http://jsfiddle.net/jQmyf/2/

具体的 if (v.qid= "70") {には:v.qid==

そして$.each(json[]ちょうどする必要があります$.each(json

于 2012-04-26T13:19:21.740 に答える
0

それぞれに配列の名前のみを指定する必要があります。

$.each(ja, function(i, v) {

次の場合は、内部で割り当ての代わりに比較を使用します。

if (v.qid== "70") {

$(function() {
    var ja= [
      {
        "answer": [

          "4555"
        ],
        "answer_string": "4555|",
        "qid": "70",
        "aid": "742"
      }
    ];
    $.each(ja, function(i, v) {
        if (v.qid== "70") {
            alert(v.answer[0]);
            return;
        }
    });
});​

更新されたフィドル

于 2012-04-26T13:30:40.690 に答える