jQuery:JSON对象子进程处理

时间:2012-06-22 11:01:46

标签: javascript jquery json

我试图通过javascript函数制作<table>

我正在获得一个看起来像这样的JSON元素:

header
    ["Nom", "Région", "Activité", 10 more...]
0   "Nom"   
1   "Région"
2   "Activité"
// other fields 

body
    Object { entity0=[13], entity1=[13], entity2=[13], more...}

entity0
    ["Org2", "Org2", "Org2", 10 more...]

0    "Org2"
1    "Org2" 
2    "Org2"
//Other fields
entity1
    ["gfhu", "rtyud", "dgud", 10 more...]
//Other entities

我试图像那样解码它(我解析JSON并将其赋予该函数):

function createTableEntity(tab, id){
    table = '<table cellpadding="0" cellspacing="0" border="0" class="display" id="'+id+'">';
    table = table + '<thead><tr>';
    $(tab.header).children().each(function(){
        table = table + '<td>' + this + '</td>';
    });
    table = table + '</tr></thead>';

    table = table + '<tbody>';

    $(tab.body).children().each(function(){
        table = table + '<tr>';

       $(this).children().each(function(){
           table = table + '<td>' + $(this) + '</td>';
       });

       table = table + '</tr>';
    });

    table = table + '</tbody>';

    table = table + '</table>';

    //alert(table);

    return table;
}

根据我的结果,没有孩子($(tab.header).children().each(function(){});)。

它来自哪里?如何遍历从JSON解析的元素?

1 个答案:

答案 0 :(得分:1)

您不需要jquery来循环JSON解析的结果,因为它是一个Javascript对象。

如果你在tab.header中有一个数组,你可以用

循环它
  $.each(tab.header, function() {

或更经典,没有jquery,使用

 for (var i=0; i<tab.header.length; i++) {