首页 > 解决方案 > 使用 Node.js 在 json 文件的开头和结尾添加方括号

问题描述

我有一个 JSON 文件,我想在 JSON 的开头和结尾添加一个方括号。例如。输入

{
"name": "Ram",
"age": 25
},
{
"name": "Laxman",
"age": 24
}

预期输出:

[
{
"name": "Ram",
"age": 25
},
{
"name": "Laxman",
"age": 24
}
]

这是一个示例响应,我的文件中有大量 JSON 数据。

标签: javascriptnode.jsjson

解决方案


因此,我们需要在这里考虑两种情况:

第一个是您负责创建此输入文件时。然后,假设您已经在数组中拥有这些对象,并且只需要保存数组本身而不是使用 for 保存单个对象。

const fs = require('fs')

const objs = [ { "name": "Ram","age": 25},{ "name": "Laxman","age": 24} ]
const jsonData = JSON.stringify(objs)

fs.writeFile("inputFile.json", jsonData, (err) => {
    if (err) {
        console.log(err);
    }
});


第二种情况,如果您在创建时无法控制修改输入文件,而只是转换先前保存的文件。fs在这种情况下,由于位置“插入”的限制,您需要完全重写文件。为此,将前一个文件读入缓冲区,在其前面加上左括号“[”,并在末尾附加右括号“]”。如下:

const fs = require('fs')

const filename = 'inputFile.json'

const fileBuffer = fs.readFileSync(filename)
const newBuffer = Buffer.concat([Buffer.from('['), fileBuffer, Buffer.from(']')])
fs.writeFileSync(filename, newBuffer)


推荐阅读