2011-02-06 251 views
23
ruby-1.9.2-p0 > require 'json' 
=> true 
ruby-1.9.2-p0 > hash = {hi: "sup", yo: "hey"} 
=> {:hi=>"sup", :yo=>"hey"} 
ruby-1.9.2-p0 > hash.to_json 
=> "{\"hi\":\"sup\",\"yo\":\"hey\"}" 
ruby-1.9.2-p0 > j hash 
{"hi":"sup","yo":"hey"} 
=> nil 

j hash提出我想要的答案,但返回nil如何在Ruby 1.9中將​​哈希轉換爲JSON字符串?

hash.to_json用反斜槓返回我想要的答案。我不想反斜槓。

+0

什麼反斜槓? – Phrogz 2011-02-06 22:25:34

回答

34

這只是因爲String#inspect。沒有反斜槓。試試:

hjs = hash.to_json 
puts hjs 
10

你在正確的軌道上。 to_json將其轉換爲JSON格式。不要讓IRB輸出欺騙你 - 它不包含任何反斜槓。

試試這個: puts hash.to_json ,你應該看到這一點: {"hi":"sup","yo":"hey"}

5

我沒有Ruby1.9測試,但顯然你所得到的「考察」的說法。那些反斜槓不在那裏,他們只是逃避報價。運行puts hash.to_json進行檢查。

相關問題