写入数据.Json文件数组



我有一个data.json文件,我需要从TS文件修改。

data.json文件如下所示:

[
{
"id": "81a885d6-8f68-5bc0-bbbc-1c7b32e4b4e4",
"title": "Need a Little Help with Your Site? Hire a Corvid Web Developer",
},
{
"id": "36043e94-6d21-5d2a-b1eb-f983996e3d79",
"title": "Guidelines for posting a question",
},
]

意味着它是一个对象数组。在实践中,有更多的字段和数百个对象。

我在修改文件时有两种情况:

  1. 我需要更改一个对象的一个字段
  2. 我需要插入一个新对象到数组

我在网上查找关于.json文件的写作,我只能找到"如何重写"。

重写所有的文件,只是为了改变一个对象的字段,或者只是为了添加一个新对象,这对我来说是非常浪费的。

有谁知道我如何在不重写所有数百个对象的情况下实现1,2 ?

感谢

您需要做的是使用覆盖的相同方法,但每次都返回映射的数组与更改的值。

import FileToModify from './FileToModify.json';
import fs from 'fs';
const data = [...fileToModify].map(item => item.id === 'someId' ? 
({
...item,
name: 'new Name'
}) : item );
fs.writeFile("./FileToModify.json", JSON.stringify((data)), (err) => {
// In case of a error throw err.
if (err) throw err;
console.log("Sucess!");
});

最新更新