Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby请求失败,请求正文中带有“\”或双引号_Ruby On Rails_Json_Special Characters - Fatal编程技术网

Ruby on rails Ruby请求失败,请求正文中带有“\”或双引号

Ruby on rails Ruby请求失败,请求正文中带有“\”或双引号,ruby-on-rails,json,special-characters,Ruby On Rails,Json,Special Characters,我有一个ruby请求,路径如下: put 'book' => :create_record { "BookName": "ABC", "BookNumber: "ISBN-13" } 我将所需数据作为我的请求正文的一部分传递,如下所示: put 'book' => :create_record { "BookName": "ABC", "BookNumber: "ISBN-13" } 然而,在测试过程中,我注意到,当我只传递一个斜杠,即作为书名的“.”时,服务

我有一个ruby请求,路径如下:

put 'book' => :create_record
{
  "BookName": "ABC",
  "BookNumber: "ISBN-13"
}
我将所需数据作为我的请求正文的一部分传递,如下所示:

put 'book' => :create_record
{
  "BookName": "ABC",
  "BookNumber: "ISBN-13"
}
然而,在测试过程中,我注意到,当我只传递一个斜杠,即作为书名的“.”时,服务会失败,并出现意外的令牌错误。但是,当我将其用作\C时,它可以工作。双引号的情况也类似。如果我只是传递一个双引号作为书名,它将失败,并出现意外的标记错误。即使我传递偶数个双引号,它也会失败


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

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

反斜杠示例:

{
  "BookName": "\\",
  "BookNumber": "ISBN-13"
}
或双引号:

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

可以我试图在rails应用程序中处理它,以避免在我的客户端未处理它时出现故障或崩溃。实现这一点的唯一方法是自己解析HTTP请求体并实现非标准JSON解析器。这可能不是您想要的…您如何创建请求主体?您是自己构建JSON还是使用库?我是自己构建的。请改用JSON库。不必犯别人已经解决的错误