Подтвердить что ты не робот

Как обновить значение в json файле и сохранить его через node.js

Как обновить значение в json файле и сохранить его через node.js? У меня есть содержимое файла:

var file_content = fs.readFileSync(filename);
var content = JSON.parse(file_content);
var val1 = content.val1;

Теперь я хочу изменить значение val1 и сохранить его в файле.

4b9b3361

Ответ 1

Выполнение этого асинхронно довольно просто. Это особенно полезно, если вы обеспокоены блокировкой потока (вероятно).

var fs = require('fs');
var fileName = './file.json';
var file = require(fileName);

file.key = "new value";

fs.writeFile(fileName, JSON.stringify(file), function (err) {
  if (err) return console.log(err);
  console.log(JSON.stringify(file));
  console.log('writing to ' + fileName);
});

Предостережение заключается в том, что json записывается в файл на одной строке и не преувеличен. например:

{
  "key": "value"
}

будет...

{"key": "value"}

Чтобы этого избежать, просто добавьте эти два дополнительных аргумента в JSON.stringify

JSON.stringify(file, null, 2)

null - представляет собой функцию замены. (в этом случае мы не хотим изменять процесс)

2 - обозначает пробелы для отступа.

Ответ 2

//change the value in the in-memory object
content.val1 = 42;
//Serialize as JSON and Write it to a file
fs.writeFileSync(filename, JSON.stringify(content));

Ответ 3

дополнение к предыдущему ответу добавить каталог пути к файлу для операции записи

 fs.writeFile(path.join(__dirname,jsonPath), JSON.stringify(newFileData), function (err) {}