在ajax响应中解析LocalDate和嵌套对象列表

时间:2016-07-18 14:52:09

标签: javascript jquery json ajax list

任何人都可以帮助我。 我试图解决两个问题。首先,如何在ajax响应中显示LocalDate。 2,迭代ajax响应中收到的Custom对象列表。

我在ajax响应中传递自定义对象列表和localDate,但不确定如何在UI中显示它。日期字段显示[对象对象]。下面是我的ajax呼叫代码。

var table = $("#example").DataTable( {
        "bProcessing": true,
        "bServerSide": true,
        'sDom' : 'T<"clear">lrtip',
        "sort": "position",
        "sAjaxSource": "springPaginationDataTables.web",
        "aoColumns": [
            { "mData": "name" },
            { "mData": "position" },
            { "mData": "office" },
            { "mData": "phone" },
            { "mData": "start_date" },
            { "mData": "salary" },
            { "mData": "dob" },//LocalDate
            { "mData": "addresses" },//list of addresses

        ],
        columnDefs: [
                     {
                         targets: [ 6 ],
                         render: function ( data, type, row ) {
                             console.log(type);
                             return data;//process LocalDate here
                         }
                     },
                     {targets: [ 7 ],
                         render: function ( data, type, row ) {
                             console.log(type);
                             return data;//process addresses list here
                         }

                     }
                    ]
    } );

从MVC Controller我将人员列表传递给JSON对象,如下所示

PersonJsonObject personJsonObject = new PersonJsonObject();
        //Set Total display record
        personJsonObject.setiTotalDisplayRecords(500);
        //Set Total record
        personJsonObject.setiTotalRecords(500);
        personJsonObject.setAaData(personsList);

        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        String json2 = gson.toJson(personJsonObject);

        return json2;

PersonJsonObject是Jquery Datatable类型的对象,它保存记录跟踪和要在UI上显示的数据列表。 Person对象具有地址Object列表。如何在获取列表之后迭代列表说data.getaddresses并将其存储在变量中。我知道我们如何使用jsp标签迭代列表但不知道如何在Jquery中执行相同的操作

1 个答案:

答案 0 :(得分:0)

它解决了。对于LocalDate问题,需要注册自定义模块。请查看此链接了解详情。 Ajax response does not parse LocalDate

对于迭代列表,使用简单的jquery foreach循环

$j.each(data, function (index, value) {
        var temp = value.field1+" "+value.field1+" ";//field1 and field2 are fields of custom object
        console.log(temp);
   return temp;
  });