在浏览器中执行 url 时,我有以下内容:
[{
"id": "1234",
"name": "Carl",
"age": "17"
}, {
"id": "9876",
"name": "Jhon",
"age": "19"
}]
我有这个功能:
function get(callback) {
return $.ajax({
type: "GET",
// url: 'rest/cars/list',
url: 'my url',
dataType: "json",
context: this,
success: function (response) {
callback.call(this, response);
}
});
};
我的代码是这样的:
var pos = get();
var ob = JSON.parse(pos);
var arr = [];
for (var i in ob) {
if (ob.hasOwnProperty(i)) {
arr.push(ob[i]);
alert(arr[i]);
}
}
我需要知道如何将 JSON 转换为数组,这样我就可以:
arr[0].id = 1234
等等... 我的代码无法正常工作,我遇到此错误 SyntaxError: Unexpected token o ... 我非常想解决这个问题
最佳答案
您调用get()
函数的方法无效。 get()
方法需要一个未提供的回调函数。另外,从 get()
函数返回的值是一个 jQuery 对象。不是您从服务器获得的响应。请引用以下实现。
在成功函数中进行以下更改:
function get(callback) {
return $.ajax({
type: "GET",
// url: 'rest/cars/list',
url: 'my url',
dataType: "json",
context: this,
success: function (response) {
callback(response);
}
});
};
并调用 get() 方法,如下所示:
get(function(pos){
var ob = pos;
var arr = [];
for (var i in ob) {
if (ob.hasOwnProperty(i)) {
arr.push(ob[i]);
alert(arr[i]);
}
}
});
希望这对您有帮助。
关于javascript - 将 JSON 转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18483059/