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