如何仅使用javascript在html选项中列出JSON文件中的对象?

时间:2016-12-08 22:34:08

标签: javascript html json

首先,我的javascript知识非常低,而且我在这个问题上苦苦挣扎。我知道有很多类似的问题,但我需要的是它只使用非常基本的javascript。 到目前为止,我有:

JSON文件:

var list=
    [
      {"title":"ObjectA",...
      },
      {"title":"ObjectB",...
      }
    ]

我设法使用以下方式列出它们:

function objects() {
                for (a=0; a<list.length; a++) {
                    document.write(list[a].title);
                }
            }

然而,这会将所有对象放在一行中。我知道您可以使用以下内容单独列出它们:

function object0() {
                document.write(list[0].title)
            }

我想知道是否可以使用for循环或类似的东西列出它们?提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

简单!

&#13;
&#13;
var list=
    [
      {"title":"ObjectA"},
      {"title":"ObjectB"},
      {"title":"ObjectC"},
      {"title":"ObjectD"},
      {"title":"ObjectE"},
      {"title":"ObjectF"}
    ];

document.write('<select name="item">');
list.map(function(item) {
  document.write('<option>'+item.title+'</option>');
});
document.write('</select>');
&#13;
&#13;
&#13;

答案 1 :(得分:1)

试试这个:

const pre = document.createElement("pre");
pre.innerHTML = JSON.stringify(list, null, 2);
document.body.appendChild(pre);

或将其打印到控制台

console.log(JSON.stringify(list, null, 2));

工作示例:

&#13;
&#13;
const list = [
  { 'title': 'ObjectA' },
  { 'title': 'ObjectB', foo: { ble: 123 } }
]

const pre = document.createElement('pre');
pre.innerHTML = JSON.stringify(list, null, 2);
document.body.appendChild(pre);
&#13;
<body>
</body>
&#13;
&#13;
&#13;