Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要使用Javascript将信息更新到JSON文件_Javascript_Node.js_Json - Fatal编程技术网

我需要使用Javascript将信息更新到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

我想通过向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": "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