如何在Ruby中以正确的格式返回JSON?

sha*_*aka 1 ruby json ruby-on-rails

当我尝试以上述格式返回JSON时,我的JSON如下所示

result = JSON.parse(data)
p result.to_json

#json from .to_json
\"is_claimed\": true,
\"rating\": 3.5,
\"mobile_url\": \"http: //m.yelp.com/biz/rudys-barbershop-seattle\",
...
Run Code Online (Sandbox Code Playgroud)

当我改用“ p result”(不带.to_json)时,得到以下信息:

"is_claimed"=>true,
"rating"=>3.5,
"mobile_url"=>"http://m.yelp.com/biz/rudys-barbershop-seattle",
....
Run Code Online (Sandbox Code Playgroud)

第一个使用“ \”字符,第二个使用哈希火箭。如何以正常格式返回JSON?

jos*_*rth 5

您看到的格式是由于p输出信息的方式而引起的,请尝试将输出更改为puts

data = '{
  "is_claimed":true,
  "rating":3.5,
  "mobile_url":"http://m.yelp.com/biz/rudys-barbershop-seattle"
}'
result = JSON.parse(data)
puts result.to_json
Run Code Online (Sandbox Code Playgroud)

编辑:关于pvs的一些其他信息putsp vs Ruby