如何在Node JS中向现有JSON文件数组添加值

萨希什

我有一个现有的JSON文件,数据是这样的。

[{"address":"unit f 11-13 short street, auburn, nsw 2144"},{"address":"village green brooks circuit, lidcombe, nsw 2141"}]

我想向此JSON文件添加新值。这是我的方法。

function saveNewAddress(
  address /* :?string | void */, cb
) /* :Promise<string> */ {


  return new Promise(function(resolve, reject) {
    fs.appendFile('address-list.json', JSON.stringify(address), "utf8", function(err) {
    if (err) throw err;
    console.log("File saved.");
}); 

});

}

这有效,但是不会将新值添加到数组中。它将新值添加到数组的末尾。

特里夫

使用时fs.appendFile(),数据将作为字符串而不是作为新的数组元素添加到文件的末尾。

您需要将JSON文件的内容作为JavaScript对象获取,将属性添加到数组中,最后保存新文件。

一种方法是使用读取文件fs.readFile(),如TGW在其评论中建议的那样。
但是,NodesJS有一个方便的方法可以执行以下操作require()

const fs = require('fs');
const json = require('./address-list.json');

function saveNewAddress(address) {    
  return new Promise((resolve, reject) => {
    json.push({address})    
    fs.writeFile('address-list.json', JSON.stringify(json), (err) => {
      if (err) reject(err)
      resolve("File saved.")
    })
  });
}

saveNewAddress('some_new_adress')
  .then(result => {
    console.log(result) 
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何向现有数组元素添加值?

如何通过 Powershell 向现有 JSON 对象添加值

如何向 Firebase 中的现有列表添加值 - Android

如何在java中向类之外的现有枚举添加值

如何通过Powershell在现有JSON文件中添加值和键?

如何在json文件中向现有JSONArray添加新的JSONObjects

如何在jQuery中向数组添加值?

如何从文件向现有的空值键字典添加值?

如何根据 Python 数据框中现有的值向新列添加值?

如何添加到node.js中的现有json文件

如何在没有键的情况下向现有哈希添加值

如何在JavaScript的JSON对象数组中添加值?

如何在node.js中向LESS添加功能

如何在python的json文件中添加值?

如何向具有字符串数组的类中的列表添加值?

如何在Java中向现有文件添加新行文本?

如何在css文件中向td添加现有类?

如何在Vue.js和Firebase中向现有用户添加新数据

如何在 CloudKit 中向现有记录添加字段

如何在Coffeescript中向现有对象添加方法?

如何在Julia中向现有函数添加方法?

如何在 MechanicalSoup 中向现有 cookie 添加 cookie

如何在Node.js中向JSON,Date或其他“本机”对象全局添加方法?

如何在 Node js 中添加会话

如何在Python中创建for循环以向数组中的每个元素添加值

如何在单击事件上向数组添加值

如何通过节点js将子节点添加到现有json文件中?

如何从PHP中具有相同键的另一个数组向数组的键添加值?

使用Java,如何在数组的开头向现有的json添加一些节点?