Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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
附加到外部JSON文件javascript中的对象_Javascript_Json_Append_External - Fatal编程技术网

附加到外部JSON文件javascript中的对象

附加到外部JSON文件javascript中的对象,javascript,json,append,external,Javascript,Json,Append,External,我有一个外部文件-file.json,其值为: { "number": "value" } 当我运行一个函数时,它会用新值重写文件。我得到: { "number": "newValue" } 我希望将数据附加到上一个文件中: { "number": "value" }, { "number2": "newValue" } 我怎样才能实现这样的目标?我想我需要使用.push(),但它给了我未定义的 这是我目前正在使用的代码 var urlList = requ

我有一个外部文件-file.json,其值为:

{
    "number": "value"
}
当我运行一个函数时,它会用新值重写文件。我得到:

{
    "number": "newValue"
}
我希望将数据附加到上一个文件中:

{
    "number": "value"
},
{
    "number2": "newValue"
}
我怎样才能实现这样的目标?我想我需要使用.push(),但它给了我未定义的

这是我目前正在使用的代码

var urlList = require('./urlList.json');

app.get('/hello', function(req, res){

  var cat = 5;
  catNumber = "number" + cat;
  url = urlList[catNumber];

  request(url, function(error, response, html){
     if(!error){
     var $ = cheerio.load(html);

     var number;
     var json = { };

     $('.content').filter(function(){
        var data = $(this);
        title = data.children().first().text().trim();

        json.number = url;

  })
}

fs.writeFile('file.json', JSON.stringify(json, null, 4), function(err){
  console.log('File successfully written!');
})

如果您将JSON作为如下数组存储在文件中:

[
    {
        "number": "value"
    }
]
然后,您可以将JSON作为数组读入,然后对其进行修改:

let fs = require('fs');
fs.readFile('./file.json', (err, file) => {
  let jsonArray = JSON.parse(file);

  jsonArray.push({
    number2 : "newValue"
  });

  fs.writeFile('file.json', JSON.stringify(jsonArray));
});

你调查过了吗?谢谢你的帮助