使用NodeJS将新行写入JSON文件
我有一个JSON文件,我想使用NodeJS向此JSON文件添加一个条目。
已经四处寻找答案,但我没有找到一个针对我的具体案例。
我的pages.json看起来像这样:
{
"/login":"Login",
"/register":"Register",
"/impressum":"Impressum",
"/createarticle":"Create Article",
"/articles":"Articles",
"/editarticle":"Edit Article",
"/viewarticle":"View Article",
"/viewaccount":"View Account",
"/acp":"Admin Control Panel",
"/usersearch":"User Search",
"/edituser":"Edit User",
"/404":"404 Error",
"/":"Home"
}
使用NodeJS我想在JSON中添加一个新行。
我想在JSON文件中的最后一对之后直接使用一行代码“/ test”:“Test Site”。该文件应如下所示:
{
"/login":"Login",
"/register":"Register",
"/impressum":"Impressum",
"/createarticle":"Create Article",
"/articles":"Articles",
"/editarticle":"Edit Article",
"/viewarticle":"View Article",
"/viewaccount":"View Account",
"/acp":"Admin Control Panel",
"/usersearch":"User Search",
"/edituser":"Edit User",
"/404":"404 Error",
"/":"Home",
"/test":"Test Site"
}
我怎么能用NodeJS和Express做到这一点?
回答如下: //store your JSON into a string; could be read from a .json file too:
let json = `{
"/login":"Login",
"/register":"Register",
"/impressum":"Impressum",
"/createarticle":"Create Article",
"/articles":"Articles",
"/editarticle":"Edit Article",
"/viewarticle":"View Article",
"/viewaccount":"View Account",
"/acp":"Admin Control Panel",
"/usersearch":"User Search",
"/edituser":"Edit User",
"/404":"404 Error",
"/":"Home"
}`;
//convert JSON string to JS object:
let obj = JSON.parse(json); //use try / catch block, omitted here
obj["/test"] ="Test Site";
console.log(JSON.stringify(obj, undefined, 2));
这是控制台输出,看看最后一个属性:
{
"/login": "Login",
"/register": "Register",
"/impressum": "Impressum",
"/createarticle": "Create Article",
"/articles": "Articles",
"/editarticle": "Edit Article",
"/viewarticle": "View Article",
"/viewaccount": "View Account",
"/acp": "Admin Control Panel",
"/usersearch": "User Search",
"/edituser": "Edit User",
"/404": "404 Error",
"/": "Home",
"/test": "Test Site"
}