I need to add a song to a .json file. The json is an object, with inside objects.
{
"Song title 1": {
"title": "Song title 1",
"author": "Song author 1",
"date": "1894"
},
"Song title 2": {
"title": "Song title 2",
"author": "Song author 2",
"date": "2000"
},
"title": {
"title": "yyyy",
"author": "",
"date": "ggggg"
}
}
In the json above was added by running the function saveSongs("yyyy", "", "ggggg")
export const saveSongs = async (title, author, date) => {
const songs = JSON.parse(await fs.readFileSync(
'songs.json', 'utf-8'
));
const newSong = {
title: {
"title": title,
"author": author,
"date": date
}
}
const updatedBookList = Object.assign(song, newSong)
console.log(updatedSongList);
fs.writeFileSync("songs.json", JSON.stringify(updatedSongList))
};
The problem is that the key of the object needs to be the same as the title. So instead of
"title": {
"title": "yyyy",
"author": "",
"date": "ggggg"
}
it should save
"yyyy": {
"title": "yyyy",
"author": "",
"date": "ggggg"
}
In order to fix that it originall was as a string:
const newSong = {
"title": {
"title": title,
"author": author,
"date": date
}
}
so I removed the string quotes... but stil the same.
How can I fix that?