JSON.stringify 拒绝格式化对象

JSON.stringify refuses to format object

JSON.stringify 拒绝格式化对象,它将所有内容都放在一行中。 有谁知道为什么它不起作用?

<!DOCTYPE html>
<html>
  <head>  
    <script>

var obj = {
 "a" : "1547645674576457645",
 "b" : "2790780987908790879087908790879087098",
 "c" : "38907908709879087",
 "d" : "A very long sentance or text1",
 "e" : "A very long sentance or text2",
 "f" : "A very long sentance or text3"

};

// pretty format trick
var myj=JSON.stringify(obj, null, 4);
//var myj=JSON.stringify(obj);
document.write(myj);

</script>

  </head> 
  <body>
</body>
</html>​

var myj=JSON.stringify(obj, null, 4);

正在格式化它。这就是第三个参数的作用。

document.write(myj);

然后你将它输出为HTML。

默认情况下,HTML 中的空格和换行符会折叠,因此在您呈现 JSON 时格式会丢失。

将其包装在 <pre> 元素中(并考虑使用 document.createTextNode / appendChild 而不是 document.write 以便任何 <& 在数据中没有不幸的副作用)。