JSON.stringify自动求和数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON.stringify自动求和数相关的知识,希望对你有一定的参考价值。
我有一个文本文件,其中包含一个文本列表,它们代表不同的框大小:
3x11x24
13x5x19
1x9x27
24x8x21
6x8x17
etc...
使用node.js,我试图将它们放入对象内。
const fs = require('fs');
const quetion = () => {
fs.readFile('./list.txt', (err, data) => {
if (err) {
console.log('error', err)
}
const rawData = JSON.parse(JSON.stringify(data));
const rawList = rawData.data;
console.log(rawList)
})
}
quetion();
现在,当我将console.log(rawData)切换到CLI时,我得到此对象:
[
51, 120, 49, 49, 120, 50, 52, 13, 10, 49, 51, 120,
53, 120, 49, 57, 13, 10, 49, 120, 57, 120, 50, 55,
13, 10, 50, 52, 120, 56, 120, 50, 49, 13, 10, 54,
120, 56, 120, 49, 55, 13, 10, 49, 57, 120, 49, 56,
120, 50, 50, 13, 10, 49, 48, 120, 57, 120, 49, 50,
13, 10, 49, 50, 120, 50, 120, 53, 13, 10, 50, 54,
120, 54, 120, 49, 49, 13, 10, 57, 120, 50, 51, 120,
49, 53, 13, 10, 49, 50, 120, 56, 120, 49, 55, 13,
10, 49, 51, 120,
... 9010 more items
]
这些是sums,它已根据数字方程式自动计算出,并由JSON.stringify完成。如何在默认情况下阻止JSON.stringify进行这些计算,以使方程式可以作为简单字符串包含在对象中?
答案
//Replace this
const rawData = JSON.parse(JSON.stringify(data));
const rawList = rawData.data;
console.log(rawList)
//With this
const list = data.toString().split("
").filter(e=>e);
console.log(list)
规划
由于文件格式不是json格式,因此您无需对文件内容执行任何json操作。
您需要做的是
- 通过
.toString()
将缓冲区转换为字符串 - 在换行
- [
.filter
空行(如果有的话)]
以上是关于JSON.stringify自动求和数的主要内容,如果未能解决你的问题,请参考以下文章
IE8中JSON.stringify方法对自动转换unicode字符的解决方案
JSON.stringify 抛出 RangeError: Invalid string length for large objects