求教将后台返回的JSON数据填充到表格的问题,js的循环怎么写才正确。

后台返回的是这样的


{"reportId":"1","className":"java","reportName":"232","teaName":"刘老师","stuName":"张同学","uploadDate":"2015-05-16","grade":"80"}

 var tableDate = "";
        $.getJSON("getReport",{ userName : userName },function(data){
            $.each(data,function(id,obj){
                tableDate += "<tr><td>"+id["reportId"]+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td><button>上传</button></td></tr>"  
            }); 
//          alert(tableDate);
            $("tbody").html(tableDate);
        })

前台显示成了这样。。。,整个倒过来了,求教这个循环到底怎么写的

图片说明

如果each传入的是obj对象,会把里面的属性数组化,所以就是你上面的结果了,每行就是一个属性。
把data改成[data]

 $.each([data],function(id,obj){
                tableDate += "<tr><td>"+obj["reportId"]+"</td>"
                              +"<td>"+obj['className']+"</td>"
                              +"<td>"+obj['reportName']+"</td>"
                              +"<td>"+obj['teaName']+"</td>"
                              +"<td>"+obj['stuName']+"</td>"
                              +"<td>"+obj['uploadDate']+"</td>"
                              +"<td>"+obj['grade']+"</td>"
                              +"<td><button>上传</button></td></tr>"  
            });