日期:2014-05-16  浏览次数:20363 次

~~~~~~~~~~~~~~~jquery如何获取解析不固定列的json,马上给分!~~~~~~~~~~~~~~~~~


 json={ "people": [ 
  { "Col01": "姓名", "Col02":"年龄", "Col03": "手机" }
  ]} 
    var tHead= "<tr>";
    tHead+= "<td width='40' class='bg_thead center'>序号</td>"

    $.each(json.people, function(key, val) {
         tHead+=
    });


字段有可能3列有可能5列也有可能N列,个数不固定,有啥办法,可以拿到字段名和对应的值呢?

------解决方案--------------------
可以先转成字符串,再将字符串根据逗号分割为数组,之后么,单索引就是字段名,对应的值就是+1的索引。
JSON变字符串的:JSON.stringify(引数)
------解决方案--------------------
var $json='{"people": [{ "Col01": "姓名", "Col02":"年龄", "Col03": "手机"}]}';
var $o = $.parseJSON($json);
var tHead= "<tr>";
tHead+= "<td width='40' class='bg_thead center'>序号</td>"
$.each($o.people,function(k,v){
$.each(v,function(k1,v1){
tHead+="<td width='40' class='bg_thead center'>"+ v1 + "</td>";
})
 
})

tHead+='</tr>';

------解决方案--------------------
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
json={ "people": [ 
  { "Col01": "姓名", "Col02":"年龄", "Col03": "手机" }
  ]} 
    var tHead= "<tr>";
    tHead+= "<td width='40' class='bg_thead center'>序号</td>"

    $.each(json.people, function (key, val) {
        for (k in this) tHead += '<td>' + this[k] + '</td>';
    });
    document.write('<table>'+tHead+'</table>');

</script>