我有PHP输出JSON多维数组,如下所示:
{"rates":[{"meter":"30","rate":"0.15060","ppd":"10.000"}]}
但是,尝试在JavaSCript方面解码它时,我总是收到错误消息。
Uncaught TypeError: Cannot read property 'length' of null
以下是jQuery方面的以下代码:
success: function (result) {
console.log(result);
$.each($.parseJSON(result), function (item, value) {
if (item == "rates") {
$.each($.parseJSON(value), function (i, object) {
console.log(i + "=" + object);
});
}
第一个控制台日志提供了我在顶部提到的输出,但是由于某些原因,我无法按我的意愿访问数组。
任何帮助是极大的赞赏 :)
最佳答案
您无需再次调用parseJSON的值。已经是一个对象
var result='{"rates":[{"meter":"30","rate":"0.15060","ppd":"10.000"}]}';
console.log(result);
$.each($.parseJSON(result), function (item, value) {
if (item == "rates") {
$.each(value, function (i, object) {
$.each(object, function (subI, subObject) {
console.log(subI + "=" + subObject);
});
});
}
});
另外,如果您想知道错误发生的原因是因为您试图在对象上调用parseJSON并且parseJSON需要一个字符串,则它将返回null到每个函数,然后该函数试图基于null.length进行for循环