我正在通过。to_json方法将哈希转换为json,但是转换后的字符串充满了反斜杠。如果我放了,它将显示正确的字符串,但是如果我传递的是http :: net request.body,则字符串中充满了反斜杠。
data = {"a" => "b", "c" => "d", "e" => "f"}
http = Net::HTTP.new(uri.host, uri.port)
req = Net::HTTP::Post.new(uri.path, {'Content-Type' =>'application/json',
'Authorization' => "xyz")
req.body = data.to_json
res = http.request(req)
在此代码中的请求正文正在发送"{\"a\":\"b\",\"c\":\"d\",\"e\":\"f\"}"
。因此,我的请求失败了。我需要在请求正文中将数据作为"{"a" => "b", "c" => "d", "e" => "f"}"
发送。
您可以通过两种解决方案来解决此问题,要么可以解析要使用的JSON,要么还可以从ruby代码发送解析后的JSON。
req.body = JSON.parse(data.to_json)
它将返回类似{"a"=>"b", "c"=>"d", "e"=>"f"}
取决于您要解析数据的位置,如果要在前端解析,请使用jquery JSON解析功能。