用JavaScript解析jQuery数据(JSON)

ven*_*lam 0 javascript php jquery json

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

load.php

<?php

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

?>
Run Code Online (Sandbox Code Playgroud)

它通过以下数据返回jQuery.

 [{"name":"STA","distance":"250","code":25},
 {"name":"GIS","distance":"500","code":45}]
Run Code Online (Sandbox Code Playgroud)

jQuery代码

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

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

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

我应该对我的逻辑做出哪些改变?

Pao*_*ino 6

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

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

或者,如果你想以jQuery的方式做到这一点:

jQuery.each(myjson, function(x) {
    alert(myjson[x].name);
});
Run Code Online (Sandbox Code Playgroud)

这两个示例都会为您提供"STA"后跟"GIS"的警报.

除此之外,正如OIS所指出的,您正试图在代码中读取错误的变量.JSON应该是变量命名的a.