【发布时间】:2013-10-21 16:09:45
【问题描述】:
我正在尝试解析从$.post() 返回的数据。
[{"id":"1","text":"USD"},
{"id":"2","text":"CNY"},
{"id":"3","text":"PHP"},
{"id":"4","text":"AUD"},
{"id":"5","text":"SGD"},
{"id":"6","text":"JPY"}]
使用这种方法Jquery, looping over a json array
我做了这样的事情:
$.post(
base_url+'cgame/currency',
{ gameID: gameID },
function(data) {
$(this).html();
$.each(data,function(idx, obj) {
$(obj).each(function(key, value) {
console.log(key + ": " + value);
});
});
}
);
但它给了我错误:
未捕获的类型错误:无法使用“in”运算符在
[{"id":"2","text":"CNY"},{"id":"3","text":"PHP"},{"id":"4","text":"AUD"},{"id":"5","text":"SGD"},{"id":"6","text":"JPY"}]中搜索“120”
我也试过了:
$.post(
base_url+'cgame/currency',
{ gameID: gameID },
function(data) {
$(this).html();
$(data).each(function(idx, obj) {
$(obj).each(function(key, value) {
console.log(key + ": " + value);
});
});
}
);
但它也给了我错误:
未捕获的错误:语法错误,无法识别的表达式:
[{"id":"1","text":"USD"},{"id":"6","text":"JPY"}]
我应该怎么做?
【问题讨论】:
-
我猜您需要先将 JSON 字符串(数据)解析为 JSON 对象,然后再对其进行迭代。尝试 JSON.parse(data) 并对其进行迭代。
标签: javascript jquery