我对javascript不熟悉。任何人都可以从这里帮助我。我的JSON响应如下:我想解析它并在表中显示。
我的javascript代码如下:
function parseData() {
var xmlhttp = new XMLHttpRequest();
var url = "http://beta.json-generator.com/api/json/get/NJqfdNMx-";
xmlhttp.onreadystatechange=function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
function myFunction(response) {
var arr = JSON.parse(response);
var i;
var out = "<table>";
for(i = 0; i < arr.length; i++) {
out += "<tr><td>" +
arr[i].text +
"</td><td>" +
arr[i].text +
"</td><td>" +
arr[i].text +
"</td></tr>";
}
out += "</table>";
document.getElementById("id01").innerHTML = out;
}
}
答案 0 :(得分:0)
需要您的Json数据或请浏览本网站
W3School JSON Handling Methods
可以帮助你更多
答案 1 :(得分:0)
您的JSON
回复包含object
,但不会直接包含array
,因此您无法直接循环回复。
您的JSON
回复包含object
,其中包含属性text
,其中包含更多属性。
var arr = JSON.parse(response);
var text = arr.text;
这是text
{itemCount: 31, sleepActivities: Array[26], runActivities: Array[1], freePlayActivities: Array[3], bikeActivities: Array[1]}
现在,您可以循询sleepActivities
或runActivities
或freePlayActivities
或bikeActivities
。您可以遍历要获取数据的任何数组。
for(i = 0; i < text.sleepActivities.length; i++) {
//your code
}
答案 2 :(得分:0)
您的回复包含对象,但您不需要使用JSON.parse。因为响应是纯JSON。您需要按照以下步骤
var arr = response.text
它将返回结果
Object {itemCount: 31, sleepActivities: Array[26], runActivities: Array[1], freePlayActivities: Array[3], bikeActivities: Array[1]}
例如,如果您想从响应中获取sleepActivities。按照流程
var sleepActivities = response.text.sleepActivities
$.each(sleepActivities ,function(i,val){
console.log(val.heartRateSummary.averageHeartRate);
})