javascript - 使用 Node.js 在 json 文件的开头和结尾添加方括号
问题描述
我有一个 JSON 文件,我想在 JSON 的开头和结尾添加一个方括号。例如。输入
{
"name": "Ram",
"age": 25
},
{
"name": "Laxman",
"age": 24
}
预期输出:
[
{
"name": "Ram",
"age": 25
},
{
"name": "Laxman",
"age": 24
}
]
这是一个示例响应,我的文件中有大量 JSON 数据。
解决方案
因此,我们需要在这里考虑两种情况:
第一个是您负责创建此输入文件时。然后,假设您已经在数组中拥有这些对象,并且只需要保存数组本身而不是使用 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)
推荐阅读
- javascript - 如何使用jquery将关注按钮从关注更改为关注
- mysql - Redis和mysql的qps是多少
- git - 将一个 git 存储库复制到另一个具有历史记录的存储库
- google-cloud-platform - 我可以保护计算引擎实例只允许云运行和我的个人家庭 ip(用于测试)吗?
- php - 为什么一个子页面的全局变量在另一个子页面中不可见?
- flutter - 将数据从自定义小部件文本字段传递到计算器颤振
- flask - 在 SQLAlchemy 中,如何在冲突时重试插入唯一 ID?
- python - 我怎样才能更好地优化我的程序来划分给定的总和?(Python)
- python - 用于编写 WAV 文件元数据的 Python 库
- ios - 如何将递归数据映射到结构中?