2013-03-26 99 views
1

当我尝试在上面显示的格式返回JSON,我的JSON看起来像这样如何在Ruby中以正确的格式返回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\", 
... 

当我使用“P结果”,而不是(不.to_json),我得到了下面:

"is_claimed"=>true, 
"rating"=>3.5, 
"mobile_url"=>"http://m.yelp.com/biz/rudys-barbershop-seattle", 
.... 

第一个有'\'字符,第二个使用散列火箭。如何以正常格式返回JSON?

回答

3

您看到的格式是因为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 

编辑:VS putsp一些额外的信息:p vs puts in Ruby

0

不知道你的“普通格式”的意思,我有时把它通过

puts JSON.generate(result) 

得到它以友好的格式。