Ответ 1
Это просто из-за String#inspect
. Никакой обратной косой черты. Попробуйте:
hjs = hash.to_json
puts hjs
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
возвращает ответ, который я хочу с помощью обратных косых черт. Мне не нужны обратные косые черты.
Это просто из-за String#inspect
. Никакой обратной косой черты. Попробуйте:
hjs = hash.to_json
puts hjs
Ты на правильном пути. to_json
преобразует его в формат JSON. Не позволяйте выводам IRB обмануть вас - он не содержит никаких обратных косых черт.
Попробуйте следующее:
puts hash.to_json
и вы должны увидеть это:
{"hi":"sup","yo":"hey"}
У меня нет Ruby1.9 для тестирования, но, видимо, вы получаете "осмотр". Эти обратные косые черты отсутствуют, они просто ускользают от котировок. Запустите puts hash.to_json
, чтобы проверить.