我在rails中运行SQL查询,然后格式化为返回JSON。但是,只需应用:
respond_to do |format|
format.html
format.json { render json: { locations: @results }}
end
在导轨中生成对象,结果格式为:
"locations":[
{
"id":104,
"address":"1 at\u0026t way",
"city_name":"arlington",
"state":"tx",
"zip":76011,
"latitude":32.7499,
"longitude":-97.0894
}
]
}
街道名称变为:at\u0026t way
,而不是正确的at&t way
。
rails如何格式化JSON以允许这样的特殊字符?
答案 0 :(得分:3)
这正如预期的那样工作,它只是unicode逃离&符号JSON standard的一部分。现在,无论谁打算在另一方解析JSON,都会在解析它所选择的语言时选择正确的&符号。例如,如果有效负载进入不同的rails服务器并且我们使用ruby解析它,它将如下所示:
(我将你的json复制到example-json.json
文件中进行演示)
8] pry(main)> JSON.parse(IO.readlines('json-example.json').join)
=> {"locations"=>
[{"id"=>104,
"address"=>"1 at&t way",
"city_name"=>"arlington",
"state"=>"tx",
"zip"=>76011,
"latitude"=>32.7499,
"longitude"=>-97.0894}]}