ruby JSON.pretty_generate(hash,opts)不使用opts

时间:2013-07-10 17:18:08

标签: ruby json

第一,我的参考

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似乎没有使用第二个参数,它应该将输出更改为所需的首选项。

2 个答案:

答案 0 :(得分:2)

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

opts =
{
   :indent => "\t",
   :space_before => " "
}
json_pretty = JSON.pretty_generate( obj, opts )

答案 1 :(得分:0)

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