在 AJAX 中解析 JSONArray 响应

  • 本文关键字:JSONArray 响应 AJAX ajax
  • 更新时间 :
  • 英文 :


为了限制这个问题,这里有一个来自W3Schools的例子,我扩展了这个例子,让我了解我想要实现的目标。

.HTML:

<p id="demo"></p>

.JS

var objA = [
{ "name":"John", "age":30, "city":"New York"},
{ "name2":"John2", "age2":302, "city2":"New York2"}
];
document.getElementById("demo").innerHTML = objA.name;

这将打印未定义。我做错了什么?

谢谢!

审核后...我现在有这个...

<p id="demo"></p>
<p id="demo2"></p>
for(var i=0;i < objA.length;i++){
document.getElementById("demo").innerHTML += objA[i]["name"];
document.getElementById("demo2").innerHTML += objA[i]["name"];
}

如果我保留 =+,它会在两个 p 标签中打印两个 JohnJohn2。如果我删除 +,它会在两个标签中只打印 John2。第一个 p 标签应打印 john,第二个应打印 john2

https://jsfiddle.net/gs4zdupn/

而不是

objA.name

是吗

objA[0][“name”]

For 循环是这样的

for(var i=0;i < objA.length;I++){
//whatever you want like objA[i]
}

注释是代码的占位符。不要从字面上理解。

首先,让我们从头开始。您的 JSON 位于数组中。所以你不需要名字和名字2。只需将其命名为"名称"即可。

var objA = [
{ "name":"John", "age":30, "city":"New York"},
{ "name":"John2", "age":302, "city":"New York2"}
];

然后为您的 for 循环执行此操作

for(var i=0;i < objA.length;i++){
document.getElementById("demo"+(i+1) ).innerHTML += objA[i]["name"];
document.getElementById("demo"+(i+1)).innerHTML += objA[i]["name"];
}

请记住重命名您的 p 标签 ID

<p id="demo1"></p>
<p id="demo2"></p>

最新更新