次のようなJSON
出力があります。
["City1","City2","City3"]
各都市名を取得したいのですが、どうすればよいですか?
$.getJSON("url_with_json_here",function(json){
});
編集:
$.getJSON('url_here', function(data){
$.each(data, function (index, value) {
$('#results').append('<p>'+value+'</p>');
console.log(value);
});
});
上記は機能していないようで、値は出力されません。
getJSON()
はフェッチ後にJSONを解析するため、それ以降は単純なJavascript配列で作業しています(_[]
_はJSONの配列をマークします)。ドキュメントには、取得したデータの処理方法の例も含まれています。
配列のすべての値を取得できます for
ループを使用 :
_$.getJSON("url_with_json_here", function(data){
for (var i = 0, len = data.length; i < len; i++) {
console.log(data[i]);
}
});
_
コンソールをチェックして、出力を確認します( Chrome 、 Firefox/Firebug 、 [〜#〜] ie [〜#〜] )。
jQueryは、反復用に $.each()
も提供するため、次のようにすることもできます。
_$.getJSON("url_with_json_here", function(data){
$.each(data, function (index, value) {
console.log(value);
});
});
_
parseJSON
メソッド を使用します。
var json = '["City1","City2","City3"]';
var arr = $.parseJSON(json);
次に、都市名の配列があります。
var dataArray = [];
var obj = jQuery.parseJSON(yourInput);
$.each(obj, function (index, value) {
dataArray.Push([value["yourID"].toString(), value["yourValue"] ]);
});
これは私を大いに助けます:-)
var dataArray = [];
var obj = jQuery.parseJSON(response);
for( key in obj )
dataArray.Push([key.toString(), obj [key]]);
};
parse.JSON
var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );