Ruby请求在请求正文中使用“\”或双引号失败

时间:2014-03-22 21:33:47

标签: ruby-on-rails json special-characters

我有以下路线的红宝石请求:

put 'book' => :create_record

我将所需数据作为请求正文的一部分传递,如下所示:

{
  "BookName": "ABC",
  "BookNumber: "ISBN-13"
}

然而,在测试时我注意到当我只传过一个斜线时,即#34; \"作为书籍名称,服务失败并带有"意外令牌"错误。但是,当我将它用作" A \ C"时,它可以工作。双引号也是如此。如果我只是将双引号作为书名传递,则会失败并显示"意外标记"错误。即使我传递了多个双引号,也会失败。

是否有任何正则表达式或某些东西可以帮助处理这些特殊字符?

1 个答案:

答案 0 :(得分:0)

某些特殊字符需要在JSON请求正文中使用反斜杠(\)进行转义。 请注意,这是客户端的问题,而不是您的Rails应用程序。

反斜杠示例:

{
  "BookName": "\\",
  "BookNumber": "ISBN-13"
}

或双引号:

{
  "BookName": "\"",
  "BookNumber": "ISBN-13"
}