Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript/capserjs中向外部文件中的json数组添加json对象_Javascript_Json_Casperjs - Fatal编程技术网

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

如何在javascript/capserjs中向外部文件中的json数组添加json对象,javascript,json,casperjs,Javascript,Json,Casperjs,我正在casperjs中写入一个json文件,并试图向其中添加新对象 json文件看起来像 { "visited": [ { "id": "258b5ee8-9538-4480-8109-58afe741dc2f", "url": "https://................" }, { "id": "5304de97-a970-48f2-9d3b-a750bad5416c", "url": "https://.............." }, { "id": "

我正在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文件

你:

  • 阅读这些数据
  • 修改该数据
  • 将该数据的修改版本附加到原始文件
  • 这意味着该文件现在拥有原始数据,然后紧接着是一个几乎相同的副本,并添加了一点

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

    您需要写入文件,而不是追加


    'a'
    标志更改为
    'w'

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

    你:

  • 阅读这些数据
  • 修改该数据
  • 将该数据的修改版本附加到原始文件
  • 这意味着该文件现在拥有原始数据,然后紧接着是一个几乎相同的副本,并添加了一点

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

    您需要写入文件,而不是追加


    'a'
    标志更改为
    'w'

    而不是
    s.write(文件名,数据,“a”)(附加模式)使用
    s.write(文件名,数据,“w”)(覆盖模式)。谢谢。真不敢相信我竟然浪费了45分钟的时间来想办法解决这个问题!!!将其视为一项投资。下次,您将更快地发现类似这样的错误(附加模式)使用
    s.write(文件名,数据,“w”)(覆盖模式)。谢谢。真不敢相信我竟然浪费了45分钟的时间来想办法解决这个问题!!!将其视为一项投资。下一次,你会更快地发现这样的错误。这很容易。非常感谢:)它不让我标记为正确,说我需要等待5分钟。稍后会回来做的。那很容易。非常感谢:)它不让我标记为正确,说我需要等待5分钟。稍后会回来做。