【发布时间】:2019-05-19 10:58:03
【问题描述】:
我经常想要“漂亮地打印”(包括额外的空白以使人类更容易解释)JavaScript 对象,而JSON.stringify(myObject, null, " ") 通常就足够了。但是,在许多情况下,有些数字数组我真的不想拆分到新行上。
是否有一种简单/优雅的方法可以使用native JSON.stringify function 完成此任务?
我尝试使用“替换器”功能,但这似乎只有助于更改(例如修改数据)、过滤(例如省略数据)和副作用(例如日志数据)——另请参阅 How Do I Use The Replacer Function With JSON Stringify?。
或者,是否有已建立的模块/库/实用程序可以执行此操作,还是我应该自己编写?
似乎有many search results on npm.org for "stringify",但我看到的似乎只是变体,它们要么在特定问题域上更有效地运行,要么避免与循环/循环数据结构相关的问题。
const obj = {
foo: "bar",
oneLine: [1,2,3],
multipleLines: [{
name: "X",
alsoOneLine: [4,5,6]
}, {
name: "Y"
}]
};
document.write(`
<pre>
// This isn't the output I want.
// The arrays containing only numbers should have their elements
// all printed on the same line.
${JSON.stringify(obj, null, " ")}
</pre>
`);
【问题讨论】:
标签: javascript json serialization stringify