Подтвердить что ты не робот

Как преобразовать хэш в строку JSON в Ruby 1.9?

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.

hash.to_json возвращает ответ, который я хочу с помощью обратных косых черт. Мне не нужны обратные косые черты.

4b9b3361

Ответ 1

Это просто из-за String#inspect. Никакой обратной косой черты. Попробуйте:

hjs = hash.to_json
puts hjs

Ответ 2

Ты на правильном пути. to_json преобразует его в формат JSON. Не позволяйте выводам IRB обмануть вас - он не содержит никаких обратных косых черт.

Попробуйте следующее: puts hash.to_json и вы должны увидеть это: {"hi":"sup","yo":"hey"}

Ответ 3

У меня нет Ruby1.9 для тестирования, но, видимо, вы получаете "осмотр". Эти обратные косые черты отсутствуют, они просто ускользают от котировок. Запустите puts hash.to_json, чтобы проверить.