从文件中读取JavaScript对象并将其转换为对象

从文件中读取JavaScript对象并将其转换为对象,javascript,Javascript,假设我们有以下文件dataset\test.js 变量数据集={ 香港(香港)网络运动(香港){ 名称:"香港网络运动",, 密钥:[], 栏目:[{ id:“dateiso”, 姓名:{ 恩:“年中” }, 类型:“日期时间” }, { id:“值”, 姓名:{ en:“Pop_尺寸” }, 类型:“数字” } ], fearueServer:“HK_密钥值” }, 香港(香港)消费物价指数{ fearueServer:'HK_KEY_VALUE', 栏目:[{ id:“dateiso”,

假设我们有以下文件
dataset\test.js


变量数据集={
香港(香港)网络运动(香港){
名称:"香港网络运动",,
密钥:[],
栏目:[{
id:“dateiso”,
姓名:{
恩:“年中”
},
类型:“日期时间”
},
{
id:“值”,
姓名:{
en:“Pop_尺寸”
},
类型:“数字”
}
],
fearueServer:“HK_密钥值”
},
香港(香港)消费物价指数{
fearueServer:'HK_KEY_VALUE',
栏目:[{
id:“dateiso”,
姓名:{
恩:“月”
},
类型:“日期时间”
},
{
id:“值”,
姓名:{
en:“月费率”
},
类型:“数字”
}
],
密钥:[],
名称:香港
}
}
我想在
Nodejs
中将其作为对象读取。一种方法是使用
eval
函数读取,如下所示:

fs.readFile(filepath, 'utf8', function (err, data) {

eval(data)
console.log(dataset)
})


那很好。但是
eval
函数有安全漏洞。是否有任何其他解决方法可以避免使用
eval


如果我将这些文件转换为以下格式,谢谢

module.exports=函数(){
this.dataset={
香港(香港)网络运动(香港){
名称:"香港网络运动",,
密钥:[],
栏目:[{
id:“dateiso”,
姓名:{
恩:“年中”
},
类型:“日期时间”
},
{
id:“值”,
姓名:{
en:“Pop_尺寸”
},
类型:“数字”
}
],
fearueServer:“HK_密钥值”
},
香港(香港)消费物价指数{
fearueServer:'HK_KEY_VALUE',
栏目:[{
id:“dateiso”,
姓名:{
恩:“月”
},
类型:“日期时间”
},
{
id:“值”,
姓名:{
en:“月费率”
},
类型:“数字”
}
],
密钥:[],
名称:香港
}
}
我可以用

var j=require('./数据集/'+文件)

如果我将这些文件转换为以下格式,则将它们导入到我的文件并使用它们

module.exports=函数(){
this.dataset={
香港(香港)网络运动(香港){
名称:"香港网络运动",,
密钥:[],
栏目:[{
id:“dateiso”,
姓名:{
恩:“年中”
},
类型:“日期时间”
},
{
id:“值”,
姓名:{
en:“Pop_尺寸”
},
类型:“数字”
}
],
fearueServer:“HK_密钥值”
},
香港(香港)消费物价指数{
fearueServer:'HK_KEY_VALUE',
栏目:[{
id:“dateiso”,
姓名:{
恩:“月”
},
类型:“日期时间”
},
{
id:“值”,
姓名:{
en:“月费率”
},
类型:“数字”
}
],
密钥:[],
名称:香港
}
}
我可以用

var j=require('./数据集/'+文件)

要将它们导入到我的文件中并使用它们

为什么您要读取文件而不是导出
数据集
并使用
require()
?@Dominic我在一个文件夹中有一组格式类似的文件,我想循环它们并将它们转换为JS对象。我如何使用
require()
?我希望以后能够更新这些文件或将新文件添加到文件夹中,并能够将它们读入js对象
JSON.parse(data)
?还是我完全错了,没有抓住问题的关键?@shaner13输入文件不是JSON,而是一个js对象。它一开始就有
var dataset={}
“JSON的一个常见用途是与web服务器交换数据。从web服务器接收数据时,数据始终是字符串。使用JSON.Parse()解析数据,数据将成为JavaScript对象。“此函数在节点中也应该可用,但它接受一个字符串并将其转换为js对象……而且由于您读取了一个文件,它将数据存储为一个字符串。为什么您要读取该文件而不是导出
dataset
并使用
require()
?@Dominic我在一个文件夹中有一组格式类似的文件,我想循环它们并将它们转换为JS对象。我如何使用
require()
?我想以后能够更新这些文件或将新文件添加到文件夹中,并能够将它们读入JS对象
JSON.parse(数据)
?还是我完全错了,没有抓住问题的关键?@ShanerM13输入文件不是JSON,而是一个JS对象。它的开头有
var-dataset={}
“JSON的一个常见用法是与web服务器交换数据。当从web服务器接收数据时,数据总是一个字符串。用JSON.Parse()解析数据)这个函数在node中也应该可用,但它接受一个字符串并将其转换为js对象…并且由于您读取了一个文件,它将数据存储为一个字符串。哦,我明白了。非常好。哦,我明白了。非常好。