javascript - 用 JS 解析 JSON foreach,显示 HTML 列表

标签 javascript jquery html json

我目前正在尝试使用 JavaScript 解析 JSON。我的问题是我希望输出看起来像这样:

<li>AppName1</li>
<li>AppName2</li>
<!-- and so on... -->

但是它不起作用,我不知道如何实现它。这是从 JSON 响应反序列化的对象:

{
  "data": [{
    "AppId": 1,
    "AppName": "AppName1",
    "AppSize": "2.1"
  }, {
    "AppId": 2,
    "AppName": "AppName2",
    "AppSize": ""
  }]
}

这是我的 .js 文件:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    var myObj = JSON.parse(this.responseText);
    document.getElementById("test").innerHTML = myObj.AppName;
  }
};
xmlhttp.open("GET", "json.json", true);
xmlhttp.send();

这是在我的 HTML 文件中

<p id="test"></p>

任何帮助将不胜感激,因为我似乎真的一点也看不懂。非常感谢!

最佳答案

首先注意你只能有li元素作为 <ul> 的子元素或 <ol> , 所以 p需要更改元素。

AppName属性是 data 中对象的一部分,因此您需要循环遍历它们:

myObj.data.forEach(function(o) {
   document.getElementById("test").innerHTML += '<li>' + o.AppName + '</li>';
}

或者通过索引单独访问它们:

document.getElementById("test").innerHTML = '<li>' + myObj.data[0].AppName + '</li>'; // first item only

var myObj = {
  "data": [{
    "AppId": 3,
    "AppName": "AnimojiStudio",
    "AppSlug": "animojistudio",
    "AppIcon": "https:\/\/img.lmdinteractive.pro\/icons\/animojistudio.png",
    "AppUrl": "https:\/\/ipa.lmdinteractive.pro\/ipa\/appstore\/animojistudio.ipa",
    "AppVersion": "1.2.2",
    "AppSize": "2.1"
  }, {
    "AppId": 2,
    "AppName": "Cute Cut Pro",
    "AppSlug": "cute-cut-pro",
    "AppIcon": "http:\/\/is2.mzstatic.com\/image\/thumb\/Purple118\/v4\/03\/70\/69\/03706968-2399-a1d8-e7c4-12897394ead9\/source\/512x512bb.jpg",
    "AppUrl": "https:\/\/ipa.lmdinteractive.pro\/ipa\/appstore\/cutecutpro.ipa",
    "AppVersion": "",
    "AppSize": ""
  }]
}

document.getElementById("test").innerHTML = '<li>' + myObj.data[0].AppName + '</li>';
<ul id="test"><li>

关于javascript - 用 JS 解析 JSON foreach,显示 HTML 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54709430/

相关文章:

javascript - 在 ReactJS 中渲染数据

javascript - 使用 Ajax 在 React 中打开天气数据

javascript - 如何在同一页面上使用 windows.location.href 将 js 值传递给 php 时停止刷新页面

html - 在现有的 div 区域中放置一个 JavaScript block

c# - HTML 按钮调用 ASP 类?

javascript - 需要帮助解决过滤器的 Jquery 问题

javascript - Web 应用程序中的 Mac 多点触控

javascript - 为什么数组的对象属性能够正确访问值?

javascript - 单击 anchor 链接时,我将如何向坐标添加像素值,以便在我的固定标题下方可以看到目标

javascript - AJAX 与 JavaScript 和 jQuery 有什么区别?