繁体   English   中英

如何在javascript / capserjs中将json对象添加到外部文件中的json数组

[英]How to add a json object to a json array in an external file in javascript / capserjs

我在casperjs中写入json文件,并尝试向其中添加新对象。

json文件看起来像

 { "visited": [

{
  "id": "258b5ee8-9538-4480-8109-58afe741dc2f",
  "url": "https://................"
},
{
  "id": "5304de97-a970-48f2-9d3b-a750bad5416c",
  "url": "https://.............."
},
{
  "id": "0fc7a072-7e94-46d6-b38c-9c7aedbdaded",
  "url": "https://................."
}]}

要添加到数组的代码是

    var data;

    if (fs.isFile(FILENAME)) {
        data = fs.read(FILENAME);
    } else {
       data = JSON.stringify({ 'visited': [] });
    }

        var json = JSON.parse(data);

        json.visited.push(visiteddata);

     data = JSON.stringify(json, null, '\n');

     fs.write(FILENAME, data, "a");

首先,在现有的{“ visited”:[]}数组下面添加一个新的具有前几个对象的{“ visited”:[]}数组,然后脚本中断,因为json数组不再是有效的json。

谁能指出我正确的方向。 先感谢您。

您有一个包含一些数据的JSON文件。

您:

  1. 读取数据
  2. 修改该数据
  3. 将该数据的修改后的版本附加到原始文件

这意味着文件现在具有原始数据,然后紧随其后是几乎相同的副本,并添加了一点点。

您不需要原件。 您只需要新版本。

您需要文件而不是附加文件。

'a'标志更改为'w'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM