使用jQuery创建自定义JSON对象

时间:2014-02-10 06:52:40

标签: javascript jquery coding-style code-organization json

我想创建一个自定义多级JSON对象。为此我写了一些代码,但它并没有解决我的目的,虽然我还在努力。

我需要你的建议来编写代码。

有一个自定义HTML表格,我想在用户点击 save 按钮时保存数据。

下面应该是用JSON保存数据代码的格式。

table = {
    row0: {                         //this is row id
        td0: "some data",            // this is 1st row td data
        td1: "some data",
        td2: "some data",
        td3: "some data",
        td4: "some data",
        td5: "some data"
    },
    row1: {
        td0: "some data",            // this is 2nd row td data
        td1: "some data",
        td2: "some data",
        td3: "some data",
        td4: "some data",
        td5: "some data"
    },
}

我创建了以下代码,但是它没有像我上面提到的那样工作。

$("#myTable tbody tr").each(function () {
tdColId = $(this).attr("id");

$("#myTable tbody tr td").each(function () {
    tdId = $(this).attr("id"),
    tdContent = $(this).html();
    //console.log("this is row content "+tdcontent);        
})

item = {},
item["Column Id"] = tdColId,
item["Td Content"] = tdContent;


jsonObj.push(item);

});

完整代码的引用是here

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

jsonObj = {};
$("#myTable tbody tr").each(function() {
    tdColId = $(this).attr("id");
    jsonObj[tdColId] = {};

    $(this).find("td").each(function() {
        jsonObj[tdColId][$(this).attr("id")] = $(this).html();
    });

});