28

我有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);
    });
});

以上似乎不起作用,没有输出任何值。

4

5 回答 5

55

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]);
    }
});

检查您的控制台以查看输出(ChromeFirefox/FirebugIE)。

jQuery 还提供$.each()了迭代,所以你也可以这样做:

$.getJSON("url_with_json_here", function(data){
    $.each(data, function (index, value) {
        console.log(value);
    });
});
于 2012-05-05T15:22:09.730 回答
31

使用parseJSON方法

var json = '["City1","City2","City3"]';
var arr = $.parseJSON(json);

然后你有一个包含城市名称的数组。

于 2012-05-05T15:14:26.707 回答
8
var dataArray = [];
var obj = jQuery.parseJSON(yourInput);

$.each(obj, function (index, value) {
    dataArray.push([value["yourID"].toString(), value["yourValue"] ]);
});

这对我有很大帮助:-)

于 2013-03-03T20:09:38.690 回答
1
var dataArray = [];
var obj = jQuery.parseJSON(response);
  for( key in obj ) 
  dataArray.push([key.toString(), obj [key]]);
};
于 2013-01-30T09:41:08.760 回答
1

parse.JSON

var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );
于 2013-10-31T10:13:28.267 回答