javascript - 正确的 JSON 格式 : newline not allowed for each item in a JSON array?

标签 javascript arrays json string file

我想用JS读取一个外部JSON文件,该文件是一个n个对象的数组,而且n很大。因此,最好我想编写数组,每个对象占一行。然而,我发现只有当所有内容都放在一行中时它才有效;任何换行都会把事情搞乱。我想知道为什么。下面,我用一个简化的例子来说明。奇怪!

有效的 data.json 文件:

data = '[{"name": "Ashwin","age": "20"},{"name": "Abhinandan","age": "21"}]';

data.json 文件不起作用:

data = '[{"name": "Ashwin","age": "20"},
         {"name": "Abhinandan","age": "21"}]';

使用 JavaScript 的 HTML 文件:

<script type="text/javascript" src="data.json"></script>
<script>
var mydata = JSON.parse(data);
alert(mydata[0].name);
alert(mydata[0].age);
alert(mydata[1].name);
alert(mydata[1].age);
</script>

最佳答案

如果不使用反斜杠字符进行转义,则无法在 JS 字符串文字中使用换行符。不过,您可以使用换行符,而无需在 JS 字符串模板中转义它们。下面的代码片段中显示了两个示例:

let data = '[{"name": "Ashwin","age": "20"},\
         {"name": "Abhinandan","age": "21"}]';
         
console.log(JSON.parse(data));

data = `[{"name": "Ashwin","age": "20"},
         {"name": "Abhinandan","age": "21"}]`;
         
console.log(JSON.parse(data));

关于javascript - 正确的 JSON 格式 : newline not allowed for each item in a JSON array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52462368/

相关文章:

c# - 如何处理 JSON 和变体对象?

php - 使用 json_encode 将 MYSQL 日期时间转换为 Javascript 兼容

javascript - ASP.Net、JavaScript 中 GridView 上的线条

javascript - 滚动后如何执行功能(jquery)

arrays - 如何将已排序的表索引作为字符串返回?

ruby-on-rails - Postgresql:比较数组导致 "malformed array literal"错误

javascript - 在 Javascript 中执行(整数)操作的最有效方法是什么?

javascript - 如何获取数据迭代Json?

javascript - JQuery Click 不影响 window.onload

javascript - 如何在 Angular 2+ 中获取 json 数据