从包含数据的方括号的json对象中检索数据

时间:2013-10-04 11:01:42

标签: javascript json var

我使用xmlhttprequest获取了从数据库获取的数据。

[{"description":"welcome","location":"Nairobi","name":"Equity Bank","created_at":"2013-02-07 21:12:45"},{"description":"very nice job","location":"Kisumu","name":"Equity Bank","created_at":"2013-02-16 12:19:46"},{"description":"welcome all","location":"nairobi","name":"Equity Bank","created_at":"2013-02-16 13:28:26"},{"description":"Very nice","location":"Nairobi","name":"Equity Bank","created_at":"2013-07-08 01:50:11"},{"description":"bad job","location":"eldoret","name":"Safaricom","created_at":"2013-02-03 00:00:00"},{"description":"very nice job","location":"mombasa","name":"Deep Africa","created_at":"2013-02-05 00:00:00"}]

我的主要目的是按照以下列的形式安排数据:

description      location     name   created_at  

方括号让我有点迷惑,但它看起来像是一个javascript数组,但我无法正确解析它。

2 个答案:

答案 0 :(得分:1)

您可以循环浏览它,并访问每个元素。以下是将其格式化为某些HTML表格的示例。

var data = [{"description":"welcome","location":"Nairobi","name":"Equity Bank","created_at":"2013-02-07 21:12:45"},{"description":"very nice job","location":"Kisumu","name":"Equity Bank","created_at":"2013-02-16 12:19:46"},{"description":"welcome all","location":"nairobi","name":"Equity Bank","created_at":"2013-02-16 13:28:26"},{"description":"Very nice","location":"Nairobi","name":"Equity Bank","created_at":"2013-07-08 01:50:11"},{"description":"bad job","location":"eldoret","name":"Safaricom","created_at":"2013-02-03 00:00:00"},{"description":"very nice job","location":"mombasa","name":"Deep Africa","created_at":"2013-02-05 00:00:00"}];


var results = document.getElementById('results');
htmlString = '<table><tr>';
for( a=0; a<data.length; a++) {
    htmlString = htmlString + '<tr><td>' + data[a]['description'] + '</td><td>' + data[a]['location'] + '</td><td>' + data[a]['name'] + '</td><td>' + data[a]['created_at'] +     '</tr>';

}
htmlString = htmlString + '</table>';
results.innerHTML = htmlString;

http://jsfiddle.net/R63BJ/

有一个jsfiddle

答案 1 :(得分:0)

如果您使用XMLHTTRequest,您将获得responesText中的数据

 var jsonData=eval('('+responseText+')');

var text="<table><tr><th>description</th><th>location</th>" +
                "<th>name</th><th>created_at</th></tr>";
for(var i=0;i<jsonData.length;i++){


            text+="<td>"+jsonData[i].description+"</td>";
            text+="<td>"+jsonData[i].location+"</td>";
            text+="<td>"+jsonData[i].name+"</td>";
            text+="<td>"+jsonData[i].created_at+"</td>";
            text+="</tr>";

}
text+="</table>"
document.getElementById("tag").innerHTML="";// make sure that data is not Present 
    document.getElementById("tag").innerHTML=text;

并在Jsp页面中:

<div id="tag"></tag>