如何使用 Javascript 在 JSON 中创建多个对象?
How can I create multiple objects in JSON with Javascript?
我想用JS在JSON中创建多个对象,即使信息相同而不是替换旧对象。
这是我正在使用的代码。
student.js:
'use strict';
const fs = require('fs');
let student = {
name: 'Mike',
age: 25,
gender: 'Male',
department: 'English',
car: 'Honda'
};
let data = JSON.stringify(student);
fs.writeFileSync('file.json', data, finished());
function finished(err) {
console.log('success');
}
file.json(student.js 的结果):
{
"name": "Mike",
"age": 25,
"gender": "Male",
"department": "English",
"car": "Honda"
}
但是当我再次 运行 使用相同值的代码时,没有任何反应并且 file.json 保持不变,就好像我只 运行 它一次一样。
我怎样才能达到这样的效果,例如,如果我 运行 student.js 三次(不改变其中的任何值)?
{
"name": "Mike",
"age": 25,
"gender": "Male",
"department": "English",
"car": "Honda"
} {
"name": "Mike",
"age": 25,
"gender": "Male",
"department": "English",
"car": "Honda"
} {
"name": "Mike",
"age": 25,
"gender": "Male",
"department": "English",
"car": "Honda"
}
谢谢。
fs.writeFileSync()
和 fs.writeFile()
一样将在文件已经存在时替换它。所以当你再次调用该函数时,它会看到哦,好的,这个文件存在并且正在替换它。
您要找的是fs.appendFileSync()
const fs = require('fs');
fs.appendFileSync('message.txt', 'data to append');
备注
Node.js developers prefer asynchronous methods over synchronous
methods as asynchronous methods never block a program during its
execution, whereas the later does. Blocking the main thread is
malpractice in Node.js, thus synchronous functions should only be used
for debugging or when no other options are available.
我建议看一下异步函数 appendFile()
fs.appendFile('message.txt', 'data to append', (err) => {
if (err) throw err;
console.log('The "data to append" was appended to file!');
});
我想用JS在JSON中创建多个对象,即使信息相同而不是替换旧对象。
这是我正在使用的代码。
student.js:
'use strict';
const fs = require('fs');
let student = {
name: 'Mike',
age: 25,
gender: 'Male',
department: 'English',
car: 'Honda'
};
let data = JSON.stringify(student);
fs.writeFileSync('file.json', data, finished());
function finished(err) {
console.log('success');
}
file.json(student.js 的结果):
{
"name": "Mike",
"age": 25,
"gender": "Male",
"department": "English",
"car": "Honda"
}
但是当我再次 运行 使用相同值的代码时,没有任何反应并且 file.json 保持不变,就好像我只 运行 它一次一样。
我怎样才能达到这样的效果,例如,如果我 运行 student.js 三次(不改变其中的任何值)?
{
"name": "Mike",
"age": 25,
"gender": "Male",
"department": "English",
"car": "Honda"
} {
"name": "Mike",
"age": 25,
"gender": "Male",
"department": "English",
"car": "Honda"
} {
"name": "Mike",
"age": 25,
"gender": "Male",
"department": "English",
"car": "Honda"
}
谢谢。
fs.writeFileSync()
和 fs.writeFile()
一样将在文件已经存在时替换它。所以当你再次调用该函数时,它会看到哦,好的,这个文件存在并且正在替换它。
您要找的是fs.appendFileSync()
const fs = require('fs');
fs.appendFileSync('message.txt', 'data to append');
备注
Node.js developers prefer asynchronous methods over synchronous methods as asynchronous methods never block a program during its execution, whereas the later does. Blocking the main thread is malpractice in Node.js, thus synchronous functions should only be used for debugging or when no other options are available.
我建议看一下异步函数 appendFile()
fs.appendFile('message.txt', 'data to append', (err) => {
if (err) throw err;
console.log('The "data to append" was appended to file!');
});