我需要为以下任务编写一个NodeJS脚本:
我有一个temp.json文件,其内容如下:
{
"name": "foo",
"id": "1.2.15"
}
当我们运行脚本时,我想更改temp.json文件的内容。具体来说,我希望id的第二个小数后的数字增加如下:
{
"name": "foo",
"id": "1.2.16"
}
我不懂JavaScript,将不胜感激。
谢谢!
答案 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');
});
});