javascript - 使用嵌套的 JSON 对象会给我控制台错误
问题描述
使用 JSON 嵌套对象,在 javascript 控制台中运行时出现错误“JSON3.html:11 Uncaught SyntaxError: Invalid or unexpected token”
我已经通过https://jsonformatter.org/json-viewer验证了 JSON ,看起来没问题。输出只是我的 h2 标签中的文本。我错过了什么?这是代码。
<!DOCTYPE html>
<html>
<body>
<h2>Testing JSON .</h2>
<p id="demo"></p>
<script>
var myJSON = '{
"LevelOne": {
"LevelTwo": {
"location": {
"campus": "SouthWest",
"building": "Biggest",
"floor": "1st",
"room": "101"
},
"quantity": "1",
"section": "ABC",
"task": "abc123456zyx"
}
}
}';
var myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myJSON.LevelOne.LevelTwo.location;
</script>
</body>
</html>
解决方案
字符串连接
周围的字符串 using"
并且'
不能延伸到多行,因此必须将每行分开,然后将它们连接起来。例子:
var myJSON = '{' +
'"LevelOne": {' +
'"LevelTwo": {' +
'"location": {' +
'"campus": "SouthWest",' +
'"building": "Biggest",' +
'"floor": "1st",' +
'"room": "101"' +
'},' +
'"quantity": "1",' +
'"section": "ABC",' +
'"task": "abc123456zyx"' +
'}' +
'}' +
'}';
console.log(myJSON);
模板文字
在 ES6 中,添加了模板文字,允许字符串跨越多行,前提是您使用`而不是"or '。例子:
var myJSON = `{
"LevelOne": {
"LevelTwo": {
"location": {
"campus": "SouthWest",
"building": "Biggest",
"floor": "1st",
"room": "101"
},
"quantity": "1",
"section": "ABC",
"task": "abc123456zyx"
}
}
}`;
console.log(myJSON);
从 JSON 中删除新行
使 JSON 1 行高的一种简单方法是JSON.stringify(json)
在浏览器的控制台中进行。
使用普通的 JSON
您可以只使用 JSON 的普通对象表示法而不是 JSON,然后如果您愿意,可以使用JSON.stringify
. 例子:
var myJSON = {
"LevelOne": {
"LevelTwo": {
"location": {
"campus": "SouthWest",
"building": "Biggest",
"floor": "1st",
"room": "101"
},
"quantity": "1",
"section": "ABC",
"task": "abc123456zyx"
}
}
};
console.log(JSON.stringify(myJSON));
console.log(myJSON);
推荐阅读
- angular - 添加静态预渲染到 ng add @nguniversal/express-engine
- swift - objc[75927]: PFFile 类和 objc[75927]: PFLogger 类在两者中都实现了将使用两者之一。哪个是未定义的
- bash - 如何使用 awk 从字段中的字母数超过阈值的文件中打印记录?
- apache-kafka - Kafka 无法将分区状态从 OnlinePartition 更改为 OnlinePartition
- c# - 使用共享资源 XAML 覆盖 MVVM 中的特定命令按钮背景颜色
- java - JSONArray 到对象列表
- css - 如何确保与小型显示器的货币一致?
- matlab - 如何在matlab中生成概率3D图
- javascript - Javascript 二维数组:增加特定项目的值
- php - 在电子邮件中显示自定义数据,订单详情 woocommerce