对于引用文件,比较需要生成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"
}
}