Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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
Javascript 在HTML中显示Json数组_Javascript_Html - Fatal编程技术网

Javascript 在HTML中显示Json数组

Javascript 在HTML中显示Json数组,javascript,html,Javascript,Html,这里可能有什么错误。我需要将这个名字列表添加到 var text='['+ “{”姓“:”约翰“,”姓“:”多伊“},”+ “{”姓“:”安“,”姓“:”史密斯“},”+ “{”姓“:”彼得“,”姓“:”琼斯“}]; var arr=JSON.parse(文本); var列表=职能部门(员工){ for(雇员长度中的var i){ document.getElementById(“demo”).innerHTML+=''+employee[i].firstName+''; } }; 列表(ar

这里可能有什么错误。我需要将这个名字列表添加到

var text='['+
“{”姓“:”约翰“,”姓“:”多伊“},”+
“{”姓“:”安“,”姓“:”史密斯“},”+
“{”姓“:”彼得“,”姓“:”琼斯“}];
var arr=JSON.parse(文本);
var列表=职能部门(员工){
for(雇员长度中的var i){
document.getElementById(“demo”).innerHTML+='
  • '+employee[i].firstName+'
  • '; } }; 列表(arr)
      您不应该在
      中使用
      for…来迭代数组

      这应该行得通

      function list(employees) {
          var html = '';
          employees.forEach(function (employee) {
            // Beware of XSS/HTML injection vulnerabilities here;
            // the name is not sanitized and could contain HTML.
            // Implementing sanitization is left as an exercise for the reader.
            html += '<li>' + employee.firstName + '</li>';  
          });
          // Only edit innerHTML once.
          document.getElementById("demo").innerHTML += html;
      };
      
      list([  // Let's assume JSON.parse() has been called already.
        { firstName: 'John', lastName: 'Doe' },
        { firstName: 'Ann', lastName: 'Smith' },
        { firstName: 'Peter', lastName: 'Jones' },
      ]);
      
      功能列表(员工){
      var html='';
      employees.forEach(功能(员工){
      //注意这里的XSS/HTML注入漏洞;
      //该名称未经过清理,可能包含HTML。
      //实施卫生处理留给读者作为练习。
      html+='
    • '+employee.firstName+'
    • '; }); //仅编辑innerHTML一次。 document.getElementById(“demo”).innerHTML+=html; }; list([//假设已经调用了JSON.parse()。 {姓:“约翰”,姓“多伊”}, {姓:“安”,姓:“史密斯”}, {姓:'彼得',姓:'琼斯'}, ]);
      问题是您正在使用。。以错误的方式在循环中。 看一看。它的设计目的是迭代可数对象属性。所以你最好改用

      但在我的示例中,我还使用函数将对象数组转换为字符串数组,将其连接为一个字符串,并设置为目标节点的innerHTML

      我还在我的代码片段中添加了关于使用
      +=
      案例的注释。您可能会发现,您希望在列表中添加新值之前清除列表,因此最好只将值分配给
      innerHTML
      ,因此使用
      array.map
      构建列表内容可能是更好的选择

      const text='['+
      “{”姓“:”约翰“,”姓“:”多伊“},”+
      “{”姓“:”安“,”姓“:”史密斯“},”+
      “{”姓“:”彼得“,”姓“:”琼斯“}];
      const arr=JSON.parse(文本);
      //使用aray.map()
      const listNode=document.getElementById('demo')
      函数makeListItem(员工){
      返回“
    • ”+employee.firstName+”
    • ” } 功能列表员工(员工){ listNode.innerHTML=employees.map(makeListItem).join(“”) } 列表员工(arr) //使用array.forEach() const listNode2=document.getElementById('demo2') 功能列表WithForEach(员工){ employees.forEach(功能(员工){ listNode2.innerHTML+='
    • '+employee.firstName+'
    • ' }) } //使用+=会将内容附加到列表中,因此,如果调用函数两次,将得到一个重复项。 listWithForEach(arr) listWithForEach(arr)

        您好!为什么在这里使用JSON字符串?为什么不创建一个数组?你检查过你的控制台了吗?你的代码中有一个错误。有一个索引器是不需要的