JQuery解析JSON数组
我有一个JSON
输出,如下所示:
["City1","City2","City3"]
我想获得每个城市名称,我该怎么做?
$.getJSON("url_with_json_here",function(json){ });
编辑:
$.getJSON('url_here', function(data){ $.each(data, function (index, value) { $('#results').append(''+value+'
'); 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" );