提问者:小点点

JavaScript JSON解析多个对象失败


当有多个JSON对象时,无法解析JSON。

与JavaScript代码一起工作的JSON文件数据。

{ 
    "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"
}

哪一种正确的方式来构造JSON对象,以便多个学生使用上面的JavaScript代码?

参考:https://stackabuse.com/reading-and-writing-json-files-with-node-js/


共1个答案

匿名用户

只有有效的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);
});