Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript JSON解析因JSON文件中的多个对象而失败_Javascript_Node.js_Json - Fatal编程技术网

JavaScript JSON解析因JSON文件中的多个对象而失败

JavaScript JSON解析因JSON文件中的多个对象而失败,javascript,node.js,json,Javascript,Node.js,Json,当存在多个JSON对象时,无法解析JSON JSON使用JavaScript代码的文件数据 { "name": "Sara", "age": 23, "gender": "Female", "department": "History", "car": "Honda" } J

当存在多个JSON对象时,无法解析JSON

JSON使用JavaScript代码的文件数据

{ 
    "name": "Sara",
    "age": 23,
    "gender": "Female",
    "department": "History",
    "car": "Honda"
}
Javascript代码

const fs = require('fs');
let rawdata = fs.readFileSync('student.json');
let student = JSON.parse(rawdata);
console.log(student);
将另一个学生添加到JSON中会中断解析

{ 
    "name": "Sara",
    "age": 23,
    "gender": "Female",
    "department": "History",
    "car": "Honda"
},
{ 
    "name": "Sara",
    "age": 23,
    "gender": "Female",
    "department": "History",
    "car": "Honda"
}
对于多个学生使用上面的JavaScript代码,构造JSON对象的正确方法是什么


参考:

只有有效的JSON才会被正确解析,因为您有多个对象,您应该像这样将这些对象包装在
[]
中:

student.json

[{ 
    "name": "Sara",
    "age": 23,
    "gender": "Female",
    "department": "History",
    "car": "Honda"
},
{ 
    "name": "Sara",
    "age": 23,
    "gender": "Female",
    "department": "History",
    "car": "Honda"
}]
JS代码:

const fs = require('fs');
let rawdata = fs.readFileSync('student.json');
let students = JSON.parse(rawdata);
students.forEach((student) => {
  console.log(student);
});

您需要数组符号,特别是对象列表周围的
[]
。您的JSON无效。看起来您只是忘记将对象放入数组
[{},{},…]