使用嵌套的JSON对象给我控制台错误

Dys*_*Guy 1 javascript json

使用JSON嵌套对象,并且在javascript控制台中运行时收到错误消息“ JSON3.html:11 Uncaught SyntaxError:无效或意外的令牌”

在此处输入图片说明

我已经通过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>
Run Code Online (Sandbox Code Playgroud)

nic*_*oum 5

字符串串联

周围使用"'不能扩展多行的字符串,因此必须分开每一行,然后将它们连接起来。例:

var myJSON = '{' +
  '"LevelOne": {' +
    '"LevelTwo": {' +
      '"location": {' +
        '"campus": "SouthWest",' +
        '"building": "Biggest",' +
        '"floor": "1st",' +
        '"room": "101"' +
      '},' +
      '"quantity": "1",' +
     '"section": "ABC",' +
      '"task": "abc123456zyx"' +
    '}' +
  '}' +
'}';

console.log(myJSON);
Run Code Online (Sandbox Code Playgroud)

模板文字

在ES6中,添加了模板文字,如果使用`而不是"或,则允许字符串跨越多行'。例:

var myJSON = `{
  "LevelOne": {
    "LevelTwo": {
      "location": {
        "campus": "SouthWest",
        "building": "Biggest",
        "floor": "1st",
        "room": "101"
      },
      "quantity": "1",
      "section": "ABC",
      "task": "abc123456zyx"
    }
  }
}`;

console.log(myJSON);
Run Code Online (Sandbox Code Playgroud)

从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);
Run Code Online (Sandbox Code Playgroud)