jquery 处理json数据问题!急!在线等!

var json={"Table1":[{"XMID":"B0","ysdate":"2015-01-01T00:00:00","SZH":7373.0},{"XMID":"B0","ysdate":"2015-01-02T00:00:00","SZH":7845.0},{"XMID":"C0","ysdate":"2015-01-01T00:00:00","SZH":327.0},{"XMID":"C0","ysdate":"2015-01-02T00:00:00","SZH":295.0},{"XMID":"D","ysdate":"2015-01-01T00:00:00","SZH":211.0},{"XMID":"D","ysdate":"2015-01-02T00:00:00","SZH":254.0},{"XMID":"K","ysdate":"2015-01-01T00:00:00","SZH":7911.0},{"XMID":"K","ysdate":"2015-01-02T00:00:00","SZH":8394.0}]}

最终想要js输出表格:
ysdate B0 C0 D K
2015-01-01 7373.0 327.0 211.0 7911.0
2015-01-02 7845.0 295.0 254.0 9394.0

http://ask.csdn.net/questions/161313

发了2个贴?发个自动标题的给你,更新了下代码


    var json = { "Table1": [
    { "XMID": "B0", "ysdate": "2015-01-01T00:00:00", "SZH": 7373.0 },
    { "XMID": "B0", "ysdate": "2015-01-02T00:00:00", "SZH": 7845.0 },
    { "XMID": "C0", "ysdate": "2015-01-01T00:00:00", "SZH": 327.0 },
    { "XMID": "C0", "ysdate": "2015-01-02T00:00:00", "SZH": 295.0 },
    { "XMID": "D", "ysdate": "2015-01-01T00:00:00", "SZH": 211.0 },
    { "XMID": "D", "ysdate": "2015-01-02T00:00:00", "SZH": 254.0 },
    { "XMID": "K", "ysdate": "2015-01-01T00:00:00", "SZH": 7911.0 },
    { "XMID": "K", "ysdate": "2015-01-02T00:00:00", "SZH": 8394.0}]
    };
    var rows = json.Table1,item;
    var result = {},ritem,keys=',',key;
    for (var i = 0, j = rows.length; i < j; i++) {
        item = rows[i];
        ritem = result[item.ysdate] || {};
        key = item.XMID;
        if (keys.indexOf(',' + key + ',') == -1) keys += key + ',';
        if (ritem[key]) ritem[key] += ',' + item.SZH;
        else ritem[key] = item.SZH;
        result[item.ysdate] = ritem;
    }
    var s = '<table border="1"><tr><th>ysdate</th>';
    var arr = keys.replace(/^,|,$/g,'').split(',');
    for (var i = 0; i < arr.length; i++) s += '<th>'+arr[i]+'</th>';
    s += '</tr>';
    for (k in result) {
        s += '<tr><td>' + (k.split('T')[0]) + '</td>'
        for (var i = 0; i < arr.length; i++) s += '<td>' + (result[k][arr[i]] || '') + '</td>';
    }
    s += '</table>';
    document.write(s);

for(var i=0;i /* var name1=$("#companyName").html();
var question1=$("#companyQuestion").html();
var regtime1=$("#companyRegTime").html();
*/
var name=$("").text(list[i].companyName);
var question=$("").text(list[i].question);
var regtime=$("").text(list[i].regtime);
var selTr=$("").append(name).append(question).append(regtime);
$("#selResult").append(selTr);
}
循环长度,类似于这样

for(var i=0;i var name=$("").text(list[i].companyName);
var question=$("").text(list[i].question);
var regtime=$("").text(list[i].regtime);
var selTr=$("").append(name).append(question).append(regtime);
$("#selResult").append(selTr);

下面的是我format过的,就是你的Josn返回的对象
要怎么处理一目了然。

 {
    "Table1": [
        {
            "XMID": "B0",
            "ysdate": "2015-01-01T00:00:00",
            "SZH": 7373
        },
        {
            "XMID": "B0",
            "ysdate": "2015-01-02T00:00:00",
            "SZH": 7845
        },
        {
            "XMID": "C0",
            "ysdate": "2015-01-01T00:00:00",
            "SZH": 327
        },
        {
            "XMID": "C0",
            "ysdate": "2015-01-02T00:00:00",
            "SZH": 295
        },
        {
            "XMID": "D",
            "ysdate": "2015-01-01T00:00:00",
            "SZH": 211
        },
        {
            "XMID": "D",
            "ysdate": "2015-01-02T00:00:00",
            "SZH": 254
        },
        {
            "XMID": "K",
            "ysdate": "2015-01-01T00:00:00",
            "SZH": 7911
        },
        {
            "XMID": "K",
            "ysdate": "2015-01-02T00:00:00",
            "SZH": 8394
        }
    ]
}
 <!DOCTYPE html>
<html>
<body>

<script>
var json={"Table1":[{"XMID":"B0","ysdate":"2015-01-01T00:00:00","SZH":7373.0},{"XMID":"B0","ysdate":"2015-01-02T00:00:00","SZH":7845.0},{"XMID":"C0","ysdate":"2015-01-01T00:00:00","SZH":327.0},{"XMID":"C0","ysdate":"2015-01-02T00:00:00","SZH":295.0},{"XMID":"D","ysdate":"2015-01-01T00:00:00","SZH":211.0},{"XMID":"D","ysdate":"2015-01-02T00:00:00","SZH":254.0},{"XMID":"K","ysdate":"2015-01-01T00:00:00","SZH":7911.0},{"XMID":"K","ysdate":"2015-01-02T00:00:00","SZH":8394.0},{"XMID":"K2","ysdate":"2015-01-02T00:00:00","SZH":8395.0}]}

function dealjson(jsonData){
   var arrTable = json["Table1"];
   var tableRow;
   var xmid='';
   var ysdate = '';
   var szh='';
   var resultObj={};
   var head={};
   var rowdate=[];
   for(var i=0;i<arrTable.length;i++){
        tableRow = arrTable[i];
        xmid = tableRow['XMID'];
        ysdate = tableRow['ysdate'].split('T')[0];
        szh = tableRow['SZH'];
        if(!resultObj[ysdate]){
             resultObj[ysdate]={}
        }
        resultObj[ysdate][xmid]= szh
        head[xmid]='';
   }


   var output=[0];
   output[0]=[];
   output[0].push('ysdate');
    for ( var str in head){ // 方法 
       if ((typeof str=='string')&&str.constructor==String){
          output[0].push(str);
       }
    }
    for(var row in resultObj){
       if ((typeof row =='string')&&row.constructor==String){
             var olength = output.length;
             if(!output[olength]){ 
                 output[olength]=[];
             }
             output[olength].push(row);
             for(var i=1;i<output[0].length;i++){
                 if(resultObj[row][output[0][i]]){
                  output[olength].push(resultObj[row][output[0][i]]);
                 }else{
                   output[olength].push('');
                 }
             }
        }
    }
   var divhtml = '';
   for(i=0;i<output.length;i++){
        for(j=0;j<output[i].length;j++){
            if(j>0){
               divhtml  = divhtml  +","+output[i][j];
            }else{
               divhtml  = divhtml   + '</br>' + output[i][j];;
            }
        }
   }
   document.getElementById('div1').innerHTML = divhtml;
}
</script>
<div id='div1'></div>
</body>
<script>
dealjson();
</script>
</html>

这和刚刚看的是一个问题。已经解决了吧。

和这里是一样的http://ask.csdn.net/questions/161313