JQuery解析JSON数组

Dav*_*ill 26 arrays jquery json getjson jquery-mobile

我有JSON如下输出:

["City1","City2","City3"]
Run Code Online (Sandbox Code Playgroud)

我想获得每个城市名称,我该怎么做?

$.getJSON("url_with_json_here",function(json){

});
Run Code Online (Sandbox Code Playgroud)

编辑:

$.getJSON('url_here', function(data){
    $.each(data, function (index, value) {
      $('#results').append('<p>'+value+'</p>');
        console.log(value);
    });
});
Run Code Online (Sandbox Code Playgroud)

以上似乎不起作用,没有输出值.

kap*_*apa 50

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]);
    }
});
Run Code Online (Sandbox Code Playgroud)

检查您的控制台以查看输出(Chrome,Firefox/Firebug,IE).

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

$.getJSON("url_with_json_here", function(data){
    $.each(data, function (index, value) {
        console.log(value);
    });
});
Run Code Online (Sandbox Code Playgroud)


Guf*_*ffa 31

使用parseJSON方法:

var json = '["City1","City2","City3"]';
var arr = $.parseJSON(json);
Run Code Online (Sandbox Code Playgroud)

然后你有一个城市名称的数组.


And*_*ash 8

var dataArray = [];
var obj = jQuery.parseJSON(yourInput);

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

这对我很有帮助:-)