我正在使用PHP,jQuery和JSON。现在,我需要知道如何在JavaScript中解析jQuery数据。

load.php

<?php

    ...
    $json =json_encode($array);

?>


它通过以下数据返回jQuery。

 [{"name":"STA","distance":"250","code":25},
 {"name":"GIS","distance":"500","code":45}]


jQuery代码

$.getJSON("load.php", function(json){
    // Access object
    var a = json;
    pass(a);
});


现在,我需要将JSON(a)传递给文件my.js中定义的JavaScript:

var myjson = {};

function pass(a) {
    myjson = a;

    //Here, how do I get name, and distance, code.
    //I have tried "alert(myjson.name)". It returns undefined.
}


我应该对我的逻辑进行哪些更改?

最佳答案

您有一个JSON对象数组,因此需要遍历该数组以获取每个单独的对象:

for(var x = 0; x < myjson.length; x++) {
    alert(myjson[x].name);
    // myjson[x].distance, myjson[x].code also available
}


或者,如果您想使用jQuery方式:

jQuery.each(myjson, function(x) {
    alert(myjson[x].name);
});


这两个示例都将向您发出“ STA”后跟“ GIS”的警报。

除此之外,正如OIS指出的那样,您正在尝试读取代码中的错误变量。 JSON应位于名为a的变量中。

10-06 08:20