用JavaScript解析jQuery数据(JSON)
我正在使用PHP,jQuery和JSON。 现在我需要知道如何在JavaScript中解析jQuery数据。
load.php
它通过以下数据返回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
变量中。
您尝试使用名为json的变量,该变量未在函数范围内定义。 相反,你必须使用名为a的参数。
function pass(a) { var i; while(i = a.pop()) { alert(i.name + " " + i.distance); } }