Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
输出JSON键,JavaScript中的值_Javascript_Json - Fatal编程技术网

输出JSON键,JavaScript中的值

输出JSON键,JavaScript中的值,javascript,json,Javascript,Json,我有一个json文件,内容如下: { "Florida":{ "4079823456" : "Text message content 1 here", "4079323457" : "Text message content 2 here", "4079823458" : "Text message content 3 here" }, "Texas":{ "2149823456" : "Text message content 1 here", "2149

我有一个json文件,内容如下:

{
  "Florida":{
   "4079823456" : "Text message content 1 here",
   "4079323457" : "Text message content 2 here",
   "4079823458" : "Text message content 3 here"
},

"Texas":{
   "2149823456" : "Text message content 1 here",
   "2149323457" : "Text message content 2 here",
   "2149823458" : "Text message content 3 here"
}

}
我使用javascript(无库)将json文件中的键/值对输出到html表,以获得如下输出:

Phone Number | Text Message
4079823456   | Text message content 1 here
4079323457   | Text message content 2 here
  Phone Number | Text Message
      0            {
      1            "
但我得到的是这样的东西:

Phone Number | Text Message
4079823456   | Text message content 1 here
4079323457   | Text message content 2 here
  Phone Number | Text Message
      0            {
      1            "
以下是我的javascript中的代码片段:

var str = JSON.stringify(http_request.responseText);
var obj = JSON.parse(str);
var rowContent;

var tablerows = document.getElementById("tablerow");

for(var key in obj){
   rowContent = "<tr><td>" + key + "</td><td>" + obj[key] + "</td></tr>";

   tablerows.innerHTML += rowContent;
}
var str=JSON.stringify(http_-request.responseText);
var obj=JSON.parse(str);
var-rowContent;
var tablerows=document.getElementById(“tablerow”);
for(obj中的var键){
rowContent=“”+key+”+obj[key]+”;
tablerows.innerHTML+=行内容;
}
如何获取要输出到所需输出的键值对,而不是获取JSON文件中的每个字符?理想情况下,我希望循环遍历键和值(在我的例子中,是电话号码和短信),因为实际上有数百条


提前感谢。

您不需要调用
JSON.stringify()
,您的响应已经是一个JSON字符串

相反,请执行以下操作:

var obj = JSON.parse(http_request.responseText);

您不需要调用
JSON.stringify()
,您的响应已经是一个JSON字符串

相反,请执行以下操作:

var obj = JSON.parse(http_request.responseText);

对于您的数据,您可以在循环中为…使用两个
,并添加到
。另外,最好使用表内容创建字符串,并在循环完成后添加它

var数据={
“佛罗里达州”:{
“4079823456”:“此处为短信内容1”,
“4079323457”:“此处为短信内容2”,
“4079823458”:“此处为短信内容3”
},
“德克萨斯州”:{
“2149823456”:“此处为短信内容1”,
“2149323457”:“此处为短信内容2”,
“2149823458”:“此处为短信内容3”
}
}
var table=document.querySelector('table');
var行=“”;
for(数据中的var p){
对于(数据[p]中的var k){
行+=''+k+''+数据[p][k]+''
}
}
table.innerHTML=行

对于您的数据,您可以在
循环中为…使用两个
,并添加到
表中
。另外,最好使用表内容创建字符串,并在循环完成后添加它

var数据={
“佛罗里达州”:{
“4079823456”:“此处为短信内容1”,
“4079323457”:“此处为短信内容2”,
“4079823458”:“此处为短信内容3”
},
“德克萨斯州”:{
“2149823456”:“此处为短信内容1”,
“2149323457”:“此处为短信内容2”,
“2149823458”:“此处为短信内容3”
}
}
var table=document.querySelector('table');
var行=“”;
for(数据中的var p){
对于(数据[p]中的var k){
行+=''+k+''+数据[p][k]+''
}
}
table.innerHTML=行

响应文本已“字符串化”。只需解析响应文本而不是str,您的代码就会正常工作。响应文本已经“字符串化”。只要解析响应文本而不是str,你的代码就应该可以了。我也试过了,但是我的表上有文本
[Object Object]
。谢谢你的输入@TimoStaI也试过了,但是我的表上有文本
[Object Object]
。谢谢你的输入@TimoSta