12

jQueryのgetJSON呼び出しを使用してJSONを取得しています。

私の問題は、返されたJSONの一部のフィールドにスペースが含まれていることです。

ソースデータを変更せずにJSONからこれらの値を取得するにはどうすればよいですか?以下の「ERROR」とマークされた行を参照してください。

$.getJSON(url, null, function(objData) {
  $.each(objData.data, function(i, item) {
    var zip = item.Zip;
    var fname = item.First Name; //ERROR
  });
});

JSONの例:

jsonp123456789({"data":[{"Zip":"12345","First Name":"Bob"},{"Zip":"23456","First Name":"Joe"},{"Zip":"34567","First Name":"Bill"}]})

ありがとう

4

2 に答える 2

22

配列メンバーのアクセス表記は、オブジェクトでも機能します。

$.getJSON(url, null, function(objData) {
  $.each(objData.data, function(i, item) {
    var zip = item.Zip;
    var fname = item['First Name'];
  });
});

これは、変数だけでなく、任意の文字列(正当な識別子ではない文字列)にも使用できます。

var fieldName = "First Name";
var fname = item[fieldName];
于 2009-12-07T23:55:24.403 に答える
8
$.getJSON(url, null, function(objData) {
  $.each(objData.data, function(i, item) {
    var zip = item.Zip;
    var fname = item["First Name"]; //Changed this
  });
});

ドット表記の代わりにキーとして使用してアイテムを参照します

于 2009-12-07T23:55:40.020 に答える