对于参考文件比较需要生成json文件的可能性,其中大括号总是以新行开头。
对于Instance,json散列:
my_json = {"Key" => {"Key" => "Value"}}
在的召唤之后领先
JSON.pretty_generate(my_json)
到
{
"Key": {
"Key": "Value"
}
}
但不幸的是我需要这样的输出:
{
"Key":
{
"Key": "Value"
}
}
有没有办法用红宝石而不破坏漂亮的格式?
由于
答案 0 :(得分:0)
如果你想要输出的这种差异,你为什么不强迫它?根据我的评论:
更新以涵盖{
和[
括号
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"
}
}