是否有任何JSON漂亮的打印机需要格外小心?

Ben*_*kin 5 javascript json pretty-print line word-wrap

我想要一个JSON漂亮的打印机,可以识别阵列或对象何时适合一条线而且只是这样做.例:

{
  "fits": ["JSON", "pretty", "printer"],
  "longer": [
    "???????????????????????????????????????????????????",
    "???????????????????????????????????????????????????",
    "???????????????????????????????????????????????????",
    "???????????????????????????????????????????????????",
    "???????????????????????????????????????????????????"
  ]
}
Run Code Online (Sandbox Code Playgroud)

有像这样的独立库吗?如果没有,我将如何写一个?

我最感兴趣的是JavaScript实现.

hug*_*omg 0

我不知道有没有这样简洁的 JSON 打印机,但如果你想的话,制作自己的打印机应该不难:

  • 您可以使用 来for(property in object)迭代给定对象的属性。
    • 根据用例,您可能需要使用 进行过滤 hasOwnProperty 。
  • 您可以使用以下命令确定引用是否指向对象、数组、字符串或数字typeof
  • 让你的漂亮打印机函数接收初始缩进偏移量和要打印的对象。这可能足以决定您是否应该内联每个属性。
    • 我不确定这种“贪婪”策略始终是“最佳” - 也许现在在多行中执行某些操作以便稍后能够内联可能会更好。不过一开始我并不担心这个。