readFile读取json数据 打印的结果变成这种结构 [ { title: 'readFIle', data: [ [Object], [Object] ] } ]
发布于 4 年前 作者 zhyn1001 3405 次浏览 来自 问答

data.json: [{ “title”: “readFIle”, “data”: [ { “name”: “abc”, “age”: 18, “sex”: “男” }, { “name”: “abc”, “age”: 18, “sex”: “男” } ] }] 通过readFile()方法读取后 在控制台输出的结果变成了 [ { title: ‘readFIle’, data: [ [Object], [Object] ] } ] 这样,请问哪位大神帮忙解答下?

4 回复

應該把你讀文件的具體代碼貼出來。。你這是在讀數據之後自己 JSON.parse(data) 轉化成 JSON 對象了吧。看你自己想要什麼類型的數據,你可以 JSON.stringify() 變成 JSON 字符串。但是如果你想要字符串你不用 JSON.parse(data),讀取數據的 data 本身就是字符串,或者 data.toString()

@jaylin1011

const fs = require(‘fs’)

let fileReadStream = fs.createReadStream(’./data.json’)

let str = ‘’

fileReadStream.on(‘data’, (chunk) => { str += chunk }) fileReadStream.on(‘end’, () => { console.log(JSON.parse(str)) console.log(接收完毕) })

fileReadStream.on(‘error’, (error) => { console.log(error) })

这是读取文件的代码 我想要对读出来的json进行循环,取出data中的某个属性值

@zhyn1001 給 JSON 對象進行一下處理,組織自己想要的數據。 fileReadStream.on(‘end’, () => { const [{ data }] = JSON.parse(str); data.forEach(({ name, sex, age }) => console.log(name, sex, age)); });

@jaylin1011 感谢,问题已解决

回到顶部