2013-07-10 25 views
1

Firsty,我引用紅寶石JSON.pretty_generate(哈希,選擇採用)不使用選擇採用

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似乎沒有使用第二個參數,它應該將輸出更改爲所需的首選項。

回答

0

我認爲json寶石中存在一個bug。我無法得到:space_before也可以工作。任何人都知道在哪裏提交一個錯誤呢?

2

選項散列的關鍵字必須是符號。

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