让我说我有这些物体
{name:'somename',date:'10/20'}
{name:'anothername',date:'07/30'}
在使用节点的文件中,我可以读取这些对象
我希望它们成为一个数组,所以我使用了.split('\n')
问题是如果我尝试
objectArray.map((singleObject)=>{
console.log(singleObject.name)
})
我得到了undefined
这就是我如何在file.txt上写对象
fs.appendFile(path.join(__dirname,'file.txt'),
object,(e)=>{
console.log(e);
})
答案 0 :(得分:1)
尝试按以下方式访问
build.gradle
答案 1 :(得分:1)
JSON字符串应为'{“ key”:“ value”}'格式
所以您应该以必需的格式编写它。
fs.appendFile(path.join(__dirname,'file.txt'),
JSON.stringify(object),(e)=>{
console.log(e);
});
读取文件后,解析数据。
fs.readFile('file.txt','utf8',function(err,data){
data = data.split("\n");
var a = JSON.parse(data[0]);
console.log(a);
})
答案 2 :(得分:0)
通过使用\n
分割文件,可以得到一个有效且可迭代的数组,但是您可能需要考虑的是objectArray
的每个条目都是一个字符串,而不是对象!因此,在访问其属性之前,需要使用JSON.parse
将其设为对象。因此,您的最终代码如下。
objectArray.map((singleObject) => {
let obj = JSON.parse(singleObject)
console.log(obj.name)
})