Ruby:如何在新行中生成带有大括号(方括号、圆括号、花括号)的 json 输出

Ruby: how to generate a json output with braces (brackets, parentheses, curlies) in a new line

对于参考文件比较需要生成 json 文件的可能性,其中大括号总是在新行中开始。

例如,json 散列:

my_json = {"Key" => {"Key" => "Value"}}

的电话之后领先
JSON.pretty_generate(my_json)

{
  "Key": {
    "Key": "Value"
  }
}

但不幸的是我需要这样的输出:

{
  "Key": 
  {
    "Key": "Value"
  }
}

有什么方法可以在不破坏漂亮格式的情况下使用 ruby 吗?

谢谢

如果你想要这种输出差异,你为什么不强迫它呢?根据我的评论:

已更新以涵盖 {[ 括号

my_json = {"Keys" => [{"Key" => "Value"},{"key1" => "val2"}], "newkey" => {"nk1" => "val3"}}

puts JSON::pretty_generate(my_json).gsub(
           /^(.*)(\"[^\"]+\"): ([\{\[])/, #first brackets: white space. Second: Key, Third: Bracket
           "\1\2:\n\1\3")             #\1: white space (on both lines), \2: Key, \3: Brac[e|ket]

{
  "Keys":
  [
    {
      "Key": "Value"
    },
    {
      "key1": "val2"
    }
  ],
  "newkey":
  {
    "nk1": "val3"
  }
}