[英]Append to object in external JSON file javascript
我有一個外部文件-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));
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.