2

首先,我的参考资料

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/json/rdoc/JSON.html
http://apidock.com/ruby/JSON/pretty_generate

第二个我的版本

$ gem list | egrep -nir "json"
json (1.8.0, 1.7.7, 1.5.5)
multi_json (1.7.7)
$ which ruby
...ruby-1.9.3-p448...

最后,我的代码

hash = YAML.load_file "my_yaml.yaml"
opts = {"indent"=>"\t", "space_before"=>" "}
json_pretty = JSON.pretty_generate(hash, opts)

输出 JSON.pretty_generate 似乎没有使用第二个参数,它应该将输出更改为所需的首选项。

4

2 回答 2

2

选项哈希的键必须是符号。

opts =
{
   :indent => "\t",
   :space_before => " "
}
json_pretty = JSON.pretty_generate( obj, opts )
于 2015-07-07T00:07:12.733 回答
0

我认为 json gem 中有一个错误。我也无法 :space_before 工作。有人知道在哪里提交错误吗?

于 2014-02-18T20:52:57.160 回答