打印json对象时,例如,在节点使用console.log执行的脚本中,它不能完全打印json。这种方法占据了中间的位置,并在不影响可读性的情况下尽可能少地打印了几行。
我想知道这种格式或算法是否有任何名称。我想用其他语言实现这种格式。
答案 0 :(得分:1)
console.log
基本上是这样的:
(value, ...args) => process.stdout.write(util.format(value, ...args) + '\n')
摘自util.format
上的文档:
如果第一个参数不是字符串,则
util.format()
返回一个字符串,该字符串是由空格分隔的所有参数的串联。每个参数都使用util.inspect()
转换为字符串。-https://nodejs.org/api/util.html#util_util_format_format_args
这意味着console.log(object)
等效于:
> process.stdout.write(util.inspect(object) + '\n');
摘自util.inspect
上的文档:
util.inspect()
方法返回用于调试的对象的字符串表示形式。util.inspect
的输出可以随时更改,因此不应以编程方式依赖它。可以传递其他选项,以更改格式化字符串的某些方面。util.inspect()
将使用构造函数的名称和/或@@ toStringTag为检查的值创建可识别的标签。-https://nodejs.org/api/util.html#util_util_inspect_object_showhidden_depth_colors
据我所知,util.inspect
的默认格式设置没有“名称”,除了{{所提到的“紧凑”(默认为true的布尔选项) 1}}文档。