我有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循环

10-07 12:31