/ / Dołącz do obiektu w zewnętrznym pliku JSON javascript - javascript, json, append, external

Dołącz do obiektu w zewnętrznym pliku JSON javascript - javascript, json, append, external

mam plik zewnętrzny - plik.json o wartościach:

{
"number": "value"
}

kiedy uruchamiam funkcję, idzie i przepisuje plik z nową wartością. I dostaję:

{
"number": "newValue"
}

chciałbym to zrobić dołącz dane do poprzedniego pliku:

{
"number": "value"
},
{
"number2": "newValue"
}

Jak mogę osiągnąć coś takiego? Myślę, że muszę użyć .push (), ale daje mi to niezdefiniowane.

To jest kod, którego obecnie używam.

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!");
})

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli przechowujesz JSON w pliku jako tablicę taką jak ta:

[
{
"number": "value"
}
]

Następnie możesz odczytać w JSON jako tablicę, a następnie dokonać na nim modyfikacji:

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));
});