Javascript 在显示之前与我的JSON对象交互
你好,stack overflow社区, 我在这一点上陷入了一段时间,即使我通过很多文章试图解决这个问题,我仍然不知道哪种方式最适合我的情况,以管理我的HTML上显示我的JSON 首先,我的JSON是一个长度可变的字符串,由我的php代码发送,并通过XMLHttpRequest在JS中接收Javascript 在显示之前与我的JSON对象交互,javascript,html,json,loops,Javascript,Html,Json,Loops,你好,stack overflow社区, 我在这一点上陷入了一段时间,即使我通过很多文章试图解决这个问题,我仍然不知道哪种方式最适合我的情况,以管理我的HTML上显示我的JSON 首先,我的JSON是一个长度可变的字符串,由我的php代码发送,并通过XMLHttpRequest在JS中接收 var return_data = xhr.responseText; JSON格式示例: "output":[ { "id":"13", "titre":"assiette servite
var return_data = xhr.responseText;
JSON格式示例:
"output":[
{
"id":"13",
"titre":"assiette servite xxx",
"format":"dat",
"date":"2016-09-10",
"source":"DDT 68",
"description":"exemple"
},
{
"id":"16",
"titre":"releve pollution atmospherique",
"format":"shp",
"date":"2014-01-05",
"source":"agence qualite de l air",
"description":"exemple"
},
我设法用以下命令简单地显示我的JSON字符串:
document.getElementById("status").innerHTML = return_data;
但在这里,我宁愿循环它以对其进行样式设置,然后将其发送到我的HTML。我尝试了很多不同的循环,但都没有成功
(例如)
我需要分析我的字符串:
var jay = JSON.parse(return_data);
但我仍然无法处理不同的实体,例如在HTML中显示
<div id="status"></div>
id 1
乳头
格式
日期
id 2
乳头
格式
日期
我还在做测试,希望在此期间有人能给我一些提示或解释我做错了什么
测试失败的示例:
for(var i=0; i < jay.length; i++)
{
var add = jay[i]['titre'];
}
document.getElementById("status").innerHTML = add;
for(变量i=0;i
干杯。您应该添加两个括号来包装来自服务器的JSON,这不是正确的JSON格式,这是:
{ "output":[
{
"id":"13",
"titre":"assiette servite xxx",
"format":"dat",
"date":"2016-09-10",
"source":"DDT 68",
"description":"exemple"
},
{
"id":"16",
"titre":"releve pollution atmospherique",
"format":"shp",
"date":"2014-01-05",
"source":"agence qualite de l air",
"description":"exemple"
},
}
您必须在循环中添加输出级别:
for(var i=0; i < jay.output.length; i++)
{
var add = jay.output[i]['titre'];
}
for(变量i=0;i
干杯
编辑
var add = [];
for(var i=0; i < jay.output.length; i++)
{
add.push(jay.output[i]['titre']);
}
document.getElementById("status").innerHTML = add.join(', ');
var add=[];
对于(var i=0;i
这将显示以逗号分隔的所有元素
干杯一个使用Array.map()的更为周到的解决方案
编辑的可能重复:它工作并显示“titre”,但只显示第一个实体,而不是下一个实体可能需要在循环中添加一些东西,以将答案累积到变量add?干杯。我正在努力寻找类似的、非常好的主意add.push/add.join用法。再次非常感谢你,你为我节省了很多时间!
document.getElementById("status").innerHTML = jay.output.map(function(obj){
return obj.titre;
}).join(', ');