如何在javascript/capserjs中向外部文件中的json数组添加json对象
我正在casperjs中写入一个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": "
{ "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分钟。稍后会回来做。