1

PHP から配列を取得し、jQuery を使用してさらに操作しようとしています。私のPHPファイルecho json_encode($data)では、jQueryの応答にアラートを入れると、次のようになります。

[
    {
        "CustomerID": "C43242421",
        "UserID": "432421421",
        "Customer": "rqewrqwreeqwr",
        "Add1": "rqwerqwreqwrqwrqwr",
        "Add2": " ",
        "Add3": " ",
        "Phone": "4131231",
        "Fax": "532442141",
        "Contact": "reqwrqwrw",
        "Email": "gfdgdsg",
        "PaymentTerm": null,
        "Country": "3231",
        "City": "111",
        "Zip": " "
    }
]

、これは有効な json 配列です。今、私がさらにやろうとしているのは、php の連想配列で行うように、キー => 値としてペアを取得することです。

$.post("templates/test.php",
    {data: query,
     cond: $(this).text(),
     action: 'select'
     },
function(res) {
    alert(res) //outputs what i pasted above
    $.each($.parseJSON(res), function(key, value) {
        alert(key + value);
        //this outputs: 0[object Object]
});

$.parseJSON上記の関数の を削除するとinvalid 'in' operand e on jquery.min.js(line 3)、Firebug のエラー ログが表示されます。

4

5 に答える 5

4

試す:

var r = $.parseJSON(res);

$.each(r[0], function(key, value) {
        alert(key + value);

});
于 2013-03-05T14:00:25.827 に答える
1

の結果は$.parseJSON(res)、単一の要素 (オブジェクト) を含む配列です。$.eachその配列を ( を使用して)反復処理すると、配列valueの現在のインデックスに格納されているオブジェクト全体が表されます。プロパティを出力するには、そのオブジェクトを反復処理する必要があります。

$.each($.parseJSON(res)[0], function(key, value) {
    alert(key + ' = ' + value);
});

内部に複数のオブジェクトを含む配列がある場合、このより一般的なコードは、それらすべてのキーと値のペアを出力する必要があります。

$.each($.parseJSON(res), function(index, arrayObject) {
    $.each(arrayObject, function(key, value) {
        alert(key + ' = ' + value);
    });
});
于 2013-03-05T14:01:58.540 に答える
0
res = $.parseJSON(res);

for (var i = 0; l = res.length; i < l; i++) {
   data = res[i];
   customer = data.Customer;

}

オブジェクトの配列があります。上記のコードと同じように、オブジェクトの配列を反復処理できます。

于 2013-03-05T14:00:49.003 に答える
0

json からある種のオブジェクトを取得できます。

function parse_json(res)
{
  try{
    return eval('(' + response + ')');
  }
  catch(e){
    // invalid json
  }
}
于 2013-03-05T14:03:45.373 に答える
0

これを試して:

$.getJSON('your-json-string-file.php', function (data) {

  $.each(data, function(key, val) {
    alert(key +'=>'+ val)
  });

});

これがあなたを助けることを願っています

于 2013-03-05T14:03:18.573 に答える