我使用Sinatra和rest-client发送JSON有效负载并对其进行处理(请求需要键盘签名)。
然而,看起来rest客户端正在发送经过转义的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,但它没有去掉额外的斜杠。
有什么想法?
发布于 2015-01-30 04:59:54
我几乎可以肯定日志中是这样的,即实际的有效负载是有效的JSON。
这意味着它是文本,应该通过JSON.parse传递:
new_hash = JSON.parse(the_payload)那么new_hash['eventID']将是1
https://stackoverflow.com/questions/28226102
复制相似问题