Ruby Rest Client发送Escaped JSON

时间:2015-01-29 22:45:06

标签: ruby json rest rest-client

我正在使用Sinatra和rest-client发送JSON有效负载并对其进行处理(请求需要密钥对签名)。

然而,看起来rest-client正在通过发送转义的JSON。

我的RestClient日志:

RestClient.post uriHere, "{\"eventID\":1}", "Accept"=>"application/json", "Accept-Encoding"=>"gzip, deflate", "Authorization"=>"Bearer tokenHere", "Content-Hash"=>"sha1 signatureHere", "Content-Length"=>"xyz", "Content-Type"=>"application/json", "Date"=>"Thu, 29 Jan 2015 22:26:47 GMT"

我无法验证端点是否正在读取转义的字符,但如果它正在发送它们,那么显然它不是有效的JSON。我已经尝试过.gsub,但它并没有删除额外的斜杠。

思想?

1 个答案:

答案 0 :(得分:0)

我几乎可以肯定它在日志中就是这样,即实际的有效载荷是有效的JSON。

这意味着它是文本,应该通过JSON.parse传递:

new_hash = JSON.parse(the_payload)

然后new_hash['eventID']将为1