极其容易忽略的文本写入bug

235 阅读1分钟
    const fs = require('fs')

    const  data = [{name: '小王', age: 20}]

    fs.writeFileSync('abcd.txt',data)   //这么写  会出现以下错误提示

nodejs --bug.jpg

那么怎么解决呢? 我们可以用下面一下方法:

解法1.data的值变成字符串 , 就像这样 const  data = '[{name: "小王", age: 20}]'

效果立竿见影:

12.jpg

当然要小心,不能将data变成字符串 ,不然就会成这样:

123.jpg

如果是一个跨越多行的对象,把 "" 号换成 ``万事大吉 ,就像这样

1.jpg

虽然方法1已经很完美了,但还是不太推荐,因为这个对象终究还是不够大,如果对象是几十上百行那种呢,
所以建议还是考虑一下其他方案 , 推荐以下解法

解法2. JSON.stringify(data) 将data转为JSON全字符串格式,如下

0.jpg

这样基本上就是完美解决了,还可以套用各种形式.

点赞楼上请,二楼有包间