NodeJS脚本来修改JSON文件

时间:2018-11-01 05:53:18

标签: javascript node.js json

我需要为以下任务编写一个NodeJS脚本:

我有一个temp.json文件,其内容如下:

{
  "name": "foo",
  "id": "1.2.15"
}

当我们运行脚本时,我想更改temp.json文件的内容。具体来说,我希望id的第二个小数后的数字增加如下:

{
  "name": "foo",
  "id": "1.2.16"
}

我不懂JavaScript,将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:1)

"use strict";

const fs = require('fs');

const data = JSON.parse(fs.readFileSync("file.json"));
const nums = data.id.split('.');
++nums[2];
data.id = nums.join('.');

fs.writeFileSync("file.json", JSON.stringify(data, null, 4));

答案 1 :(得分:0)

如果您想在不破坏Node异步特性的情况下做到这一点,那么也可以使用异步函数来做到这一点:

const fs = require('fs');

fs.readFile('temp.json', 'utf8', (e, data) => {
  const obj = JSON.parse(data);
  const idParts = obj.id.split('.').map((el) => parseInt(el, 10))
  idParts[2] = idParts[2] + 1;
  obj.id = idParts.join('.');
  fs.writeFile('out.json', JSON.stringify(obj), (err) => {
     console.log(err || 'complete');
  });
});