JSON的新手,我可以用这个json响应做什么

Bla*_*man 2 javascript json

一个网站返回以下JSON响应,我将如何使用它(在javascript中)?

[{"ID1":9996,"ID2":22}]
Run Code Online (Sandbox Code Playgroud)

JSON只是返回一个数组吗?

Koo*_*Inc 7

如果您使用http://www.JSON.org/json2.js,您可以使用它的方法JSON.parse将json 字符串作为对象检索(不使用eval(被认为是邪恶的)),所以在这种情况下你会用:

var nwObj = JSON.parse('[{"ID1":9996,"ID2":22}]');
alert(nwObj.ID1); //=> 9996
Run Code Online (Sandbox Code Playgroud)


End*_*ssa 6

我们用:

function evalResponse(response) {
    var xyz123 = null;
    eval("xyz123 = " + response);
    return xyz123;
}
Run Code Online (Sandbox Code Playgroud)

另一种方法是简单地使用:

var myObj = eval(response);
Run Code Online (Sandbox Code Playgroud)

基本上,您必须调用eval()响应来创建一个javascript对象.这是因为当你从AJAX调用中获取它时,响应本身只是一个字符串.在你eval之后,你有一个你可以操纵的对象.

function myCallback(response) {
    var myObj = evalResponse(response);
    alert(myObj.ID1);
}
Run Code Online (Sandbox Code Playgroud)

您可以使用JavaScript库来为您处理此问题.或者,您可以尝试自己解析字符串.eval()有它自己的问题,但它的工作原理.