【发布时间】:2016-01-12 01:09:21
【问题描述】:
我只是想用一些 ANSI 样式代码记录 JSON,在 Node.js 中,代码如下:
let s = chalk.green('Hello World')
let o = {s} // or {s: s}
console.log(s)
console.log(o)
console.log(o.s)
console.log(JSON.stringify(o))
(注意:chalk 就像colors)
但是在记录对象或对其进行字符串化时,格式会被转义。有什么办法可以预防吗?
结果:
所以这就像记录 \u001b[32mHello World\u001b[39m 和 \\u001b[32mHello World\\u001b[39m(带有双 \)
PS:我知道有数百种解决方法,但我偶然发现了这个问题,我一直在寻找一个简单的解决方案。谢谢!
【问题讨论】:
-
你想要达到的最终结果是什么?
-
记录对象时有颜色。或者在使用
JSON.stringify时不转义样式代码。 -
所以你想要
{"s": "Hello World"}Hello World 是绿色的? -
没错! (当然目标不是将键和值连接在一起,我主要是出于好奇而问,我不太明白为什么会有stringify的行为,我想知道是否可以做到不同。)
标签: javascript json node.js