我需要使用Javascript将信息更新到JSON文件
我想通过向json文件添加信息来更新我需要使用Javascript将信息更新到JSON文件,javascript,node.js,json,Javascript,Node.js,Json,我想通过向json文件添加信息来更新 [{"name": "Nathan"},{"name": "Jeff"}] 我现在正在做这个 const fs = require('fs'); let name = require('./test.json'); let data = JSON.parse(name); data.push({name: 'Bob'}); name = JSON.stringify(data) 我想要的结果是让JSON文件看起来像这样 [{"name": "Na
[{"name": "Nathan"},{"name": "Jeff"}]
我现在正在做这个
const fs = require('fs');
let name = require('./test.json');
let data = JSON.parse(name);
data.push({name: 'Bob'});
name = JSON.stringify(data)
我想要的结果是让JSON文件看起来像这样
[{"name": "Nathan"},{"name": "Jeff"},{"name": "Bob"},]
我建议使用非常方便的模块,它支持对简单JSON文件的许多操作 下面是一个例子:
const dbFileName = "db.json";
const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')
const adapter = new FileSync(dbFileName)
const db = low(adapter)
// Set some defaults (required if your JSON file is empty)
db.defaults({ users: [] })
.write()
// Add some users and save..
db.get('users')
.push({ id: 1, name: 'Jack Smith', dob: '1981-21-08'})
.push({ id: 2, name: 'Kim Jones', dob: '1992-14-03'})
.write()
// Show users.
const userList = db.get('users').value();
console.log("Users: ", userList);
// Find a user
console.log("Find user by name:", db.get('users').find({ name: 'Kim Jones' }).value());
模块页面上还有其他内容。首先:导入json文件不需要
fs
。简单地说:
let data=require('filename.json');
或者,如果您使用的是BABEL
,则导入it
关于字符串部分,您可以像这样使用substr
:
let data=[{“name”:“Nathan”},{“name”:“Jeff”}];
push({name:'Bob'});
让name=JSON.stringify(数据)
name=`${name.substr(0,name.length-1)},]`;
console.log(名称)代码>您的代码不会更改文件,它只会更改包含JSON文件值的变量,并且不使用JSON.parse。您可以要求将其直接用于变量,然后将其作为js对象使用。
如果您想更改文件,您可以在其中使用“fs”模块(不要忘记它是异步的)这怎么办?您不知道如何重新写入文件?这是否回答了您的问题?然后您可以使用fs