Node.Js 读写数组 to/from 文件
Node.Js write and read Array to/from File
我有一个 NodeJs 小程序,我想将用户数组(包含对象)保存到一个文件中,我正在这样做:
const fs = require('fs');
const util = require('util');
fs.writeFileSync('data/inventur_users.json', util.inspect(users), 'utf-8');
文件 inventur_Users.json 中的输出是:
[ BU4AFLx3cUYqdjvYPci7: { id: '5LkOWtVFcqz29UpsAAAC',
name: 'p.langkau@scharr.de',
rechte: 'vollzugriff',
client_ID: 'BU4AFLx3cUYqdjvYPci7' } ]
现在我正在使用以下代码读回文件:
filedata = fs.readFileSync('data/inventur_users.json', 'utf-8');
我的问题是我只得到一个字符串,我不知道如何将字符串转换回包含对象的数组。
提前致谢,帕特里克
首先
[ BU4AFLx3cUYqdjvYPci7: { id: '5LkOWtVFcqz29UpsAAAC',
name: 'p.langkau@scharr.de',
rechte: 'vollzugriff',
client_ID: 'BU4AFLx3cUYqdjvYPci7' } ]
不是有效的 json,您可以从这里验证 https://jsonlint.com/
有效的 json 看起来像
[{
"BU4AFLx3cUYqdjvYPci7": {
"id": "5LkOWtVFcqz29UpsAAAC",
"name": "p.langkau@scharr.de",
"rechte": "vollzugriff",
"client_ID": "BU4AFLx3cUYqdjvYPci7"
}
}]
然后你可以直接在
这样的变量中获取.json
文件的内容
const filedata = require('data/inventur_users.json');
您可以使用 JSON.parse()
将字符串转换回 JavaScript 对象:
filedata = JSON.parse(fs.readFileSync('data/inventur_users.json', 'utf-8'));
您还应该首先使用 JSON.stringify()
来保存文件:
fs.writeFileSync('data/inventur_users.json', JSON.stringify(util.inspect(users)), 'utf-8');
我有一个 NodeJs 小程序,我想将用户数组(包含对象)保存到一个文件中,我正在这样做:
const fs = require('fs');
const util = require('util');
fs.writeFileSync('data/inventur_users.json', util.inspect(users), 'utf-8');
文件 inventur_Users.json 中的输出是:
[ BU4AFLx3cUYqdjvYPci7: { id: '5LkOWtVFcqz29UpsAAAC',
name: 'p.langkau@scharr.de',
rechte: 'vollzugriff',
client_ID: 'BU4AFLx3cUYqdjvYPci7' } ]
现在我正在使用以下代码读回文件:
filedata = fs.readFileSync('data/inventur_users.json', 'utf-8');
我的问题是我只得到一个字符串,我不知道如何将字符串转换回包含对象的数组。
提前致谢,帕特里克
首先
[ BU4AFLx3cUYqdjvYPci7: { id: '5LkOWtVFcqz29UpsAAAC',
name: 'p.langkau@scharr.de',
rechte: 'vollzugriff',
client_ID: 'BU4AFLx3cUYqdjvYPci7' } ]
不是有效的 json,您可以从这里验证 https://jsonlint.com/
有效的 json 看起来像
[{
"BU4AFLx3cUYqdjvYPci7": {
"id": "5LkOWtVFcqz29UpsAAAC",
"name": "p.langkau@scharr.de",
"rechte": "vollzugriff",
"client_ID": "BU4AFLx3cUYqdjvYPci7"
}
}]
然后你可以直接在
这样的变量中获取.json
文件的内容
const filedata = require('data/inventur_users.json');
您可以使用 JSON.parse()
将字符串转换回 JavaScript 对象:
filedata = JSON.parse(fs.readFileSync('data/inventur_users.json', 'utf-8'));
您还应该首先使用 JSON.stringify()
来保存文件:
fs.writeFileSync('data/inventur_users.json', JSON.stringify(util.inspect(users)), 'utf-8');