我正在使用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,但它并没有删除额外的斜杠。
思想?
答案 0 :(得分:0)
我几乎可以肯定它在日志中就是这样,即实际的有效载荷是有效的JSON。
这意味着它是文本,应该通过JSON.parse传递:
new_hash = JSON.parse(the_payload)
然后new_hash['eventID']
将为1