【发布时间】:2018-04-29 02:39:16
【问题描述】:
注意:- 我刚开始使用带有 javascript 的 JSON,并且正在尝试这个简单的脚本。我想在这里使用 JSON.parse() 来获取数据
这是我的代码的 sn-p
<html>
<body>
<div id="output"></div>
</body>
<script>
var text = "'college':{'stream':{'commerce':{'junior':['FY','SY'],'bachelor':['Bcom','BMM']},'science':{'junior':['FY','SY'],'bachelor':['Bsc','BTech']},'arts':{'junior':['FY','SY'],'bachelor':['BA','B.Ed']},}}";
var jcontent = JSON.parse(text);
document.getElementById('output').innerHTML += jcontent;
</script>
</html>
什么都没有显示。我不明白有什么问题。任何人都可以帮忙吗? 编辑-我更正了跨越多行的字符串,但它仍然不起作用
【问题讨论】:
-
JavaScript 字符串中不允许换行,除非您使用带有反引号的模板字符串
-
(1) 字符串文字不能跨越多行。这是一个语法错误。使用浏览器的开发者工具。 (2) 即使您可以有新行,您的字符串的内容也不是有效的 JSON。 (3) 没有理由在 JavaScript 文件中定义 JSON。只需通过对象文字创建一个对象。 (4) 即使解析 JSON 可以工作,
document.getElementById('output').innerHTML += jcontent;也不会给您任何有用的结果,因为您正在将对象转换为字符串。 -
有什么理由不直接使用
jcontent = {'college':{ .... }}? JSON 是一个 Javascript 序列化对象,因此很容易用纯 javascript 解析。 -
@h2ooooooo:但是,对象文字不是 JSON。在没有上下文的情况下说“所以很容易用纯 javascript 解析”是一种误导。
标签: javascript json parsing