繁体   English   中英

无法使用jquery迭代json对象

[英]unable to iterate over json object using jquery

我是AJAX / JQuery / JSON的新手,我使用Struts 2来使用AJAX获取JSON对象,我可以看到返回的对象,但我无法迭代它。 返回的对象是一个只有一个对象的列表(可能包含更多对象),每个对象也包含一些其他对象的列表。

这就是js文件的样子:

$.getJSON('GetAllSaleItemsAction', {
        customerName : debtorSelection
    }, function(jsonResponse){
        //alert(jsonResponse);

        //populate table
        var trHtml = '';
        //$("tr:has(td)").remove();
        jsonResponse = jsonResponse.saleItemsList;

        var responseString = JSON.stringify(jsonResponse);
        console.log(responseString);

        $.each(jsonResponse, function(i, item) {
            var saleEntries = $.parseJSON(item.singleSaleEntries);

            var saleEntriesString = JSON.stringify(saleEntries);
            console.log(saleEntriesString);

            var sseString = '';
            $.each(saleEntries, function(n, sse){
                sseString += sse.item + ' ' + sse.quantity + ' x ' + sse.price + ' = ' + sse.amount;
            });

            trHtml+= '<tr><td>' + item.date + '</td><td>' + sseString + '</td><td>' + item.saleAmount  + '</td><td>' + item.interest  + '</td><td>' + item.totalAmount + '</td></tr>';
        });
        if(trHtml != ''){
            $('#saleRecordTable').append(trHtml);
        }
    });

这里执行第一个console.log但不执行第二个console.log,因为不执行每个函数中的javascript:

[{"customerName":"Tester","date":"2015-02-16T17:36:19","debtorId":1,"interest":0,"saleAmount":14000,"saleId":3,"singleSaleEntries":[{"amount":9000,"item":"DAP_50KG","price":900,"quantity":10,"saleEntry":null,"singleSaleId":4},{"amount":5000,"item":"UREA_50KG","price":500,"quantity":10,"saleEntry":null,"singleSaleId":5}],"totalAmount":14000}]


请指导我。

问题是var saleEntries = $.parseJSON(item.singleSaleEntries); 将此语句更改为var saleEntries = item.singleSaleEntries;

一切正常,问题是调试点被设置为下一个语句,并且由于此行中的错误,控件从未到达那里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM