【发布时间】:2017-05-20 03:11:41
【问题描述】:
在 JavaScript 中使用 JSON.stringify() 方法允许 JSON 数据在浏览器中呈现后,它会在浏览器中呈现的属性的任一端输出双引号“” - 知道如何解决这个问题吗?
这是我的代码 -
<li class="divider">Brown Eyes</li>
<div id="output1"></div>
<li class="divider">Green Eyes</li>
<div id="output2"></div>
<script>
var myContainer = "";
var a = new XMLHttpRequest();
a.open("GET", "https://api.myjson.com/bins/1dwnm", true);
a.onreadystatechange = function () {
console.log(a);
if (a.readyState == 4) {
var obj = JSON.parse(a.responseText);
for (i = 0; i < obj.length; i++) {
if (obj[i].eyeColor == 'brown') {
var myContainer = "<ul class='list'><li>" + obj[i].name.first + " " + obj[i].name.last + " - " + obj[i].eyeColor + "</li></ul>";
var myContainer = JSON.stringify(myContainer);
document.getElementById('output1').innerHTML += myContainer;
}
if (obj[i].eyeColor == 'green') {
var myContainer = "<ul class='list'><li>" + obj[i].name.first + " " + obj[i].name.last + " - " + obj[i].eyeColor + "</li></ul>";
var myContainer = JSON.stringify(myContainer);
document.getElementById('output2').innerHTML += myContainer;
}
}
}
}
a.send();
</script>
【问题讨论】:
-
你正在调用
JSON.stringify()的东西已经是一个字符串。它旨在用于 JavaScript 对象,而不是 html。 -
@Gavin - 你是对的。我评论了“var myContainer = JSON.stringify(myContainer);”拼凑出来,引号被删除。谢谢!
标签: javascript json stringify