猿问

如何用jQuery/JavaScript解析JSON数据?

如何用jQuery/JavaScript解析JSON数据?

我有一个Ajax调用,它返回一些JSON,如下所示:

$(document).ready(function () {
    $.ajax({ 
        type: 'GET', 
        url: 'http://example/functions.php', 
        data: { get_param: 'value' }, 
        success: function (data) { 
            var names = data
            $('#cand').html(data);
        }
    });});

内部#cand我去拿:

[ { "id" : "1", "name" : "test1" },
  { "id" : "2", "name" : "test2" },
  { "id" : "3", "name" : "test3" },
  { "id" : "4", "name" : "test4" },
  { "id" : "5", "name" : "test5" } ]

我如何循环这些数据并将每个名称放在div中?


绝地无双
浏览 578回答 3
3回答

森林海

设置dataType:'json'将为您解析JSON:$.ajax({   type: 'GET',   url: 'http://example/functions.php',   data: {get_param: 'value'},   dataType: 'json',   success: function (data) {     var names = data     $('#cand').html(data);   }});否则你可以用parseJSON:var parsedJson = $.parseJSON(jsonToBeParsed);然后可以迭代以下内容:var j ='[{"id":"1","name":"test1"},{"id":"2","name":"test2"},{"id":"3","name":"test3"},{"id":"4","name":"test4"},{"id":"5","name":"test5"}]';.通过使用$().each:var json = $.parseJSON(j);$(json).each(function (i, val) {   $.each(val, function (k, v) {     console.log(k + " : " + v);   });});JSFiddle

ITMISS

尝试下面的代码,它在我的项目中工作://start&nbsp;ajax&nbsp;request$.ajax({ &nbsp;&nbsp;&nbsp;&nbsp;url:&nbsp;"data.json", &nbsp;&nbsp;&nbsp;&nbsp;//force&nbsp;to&nbsp;handle&nbsp;it&nbsp;as&nbsp;text &nbsp;&nbsp;&nbsp;&nbsp;dataType:&nbsp;"text", &nbsp;&nbsp;&nbsp;&nbsp;success:&nbsp;function(data)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//data&nbsp;downloaded&nbsp;so&nbsp;we&nbsp;call&nbsp;parseJSON&nbsp;function&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//and&nbsp;pass&nbsp;downloaded&nbsp;data &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;json&nbsp;=&nbsp;$.parseJSON(data); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//now&nbsp;json&nbsp;variable&nbsp;contains&nbsp;data&nbsp;in&nbsp;json&nbsp;format &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//let's&nbsp;display&nbsp;a&nbsp;few&nbsp;items &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(var&nbsp;i=0;i<json.length;++i) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$('#results').append('<div&nbsp;class="name">'+json[i].name+'</>'); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}});
随时随地看视频慕课网APP
我要回答