当前位置: 首页 > 面试题库 >

如何在PHP的ajax JSON响应中的字符串中加上双引号?

龙学
2023-03-14
问题内容

我收到来自服务器的Ajax请求中的JSON响应。这样工作:

{“ a”:“ 1”,“ b”:“ hello’kitty’”}

但是我没有成功地在 kitty上加上 双引号。

当我在Ajax响应中将“转换为\ x22时,JavaScript仍将其解释为”,并且我无法解析JSON。

我是否还应该转义\并稍后转义(可能)?

这该怎么做?

编辑: 我不确定我是否表达得很好:解析 我想在“ b”内的此字符串:

凯蒂猫”

如果有必要,我还可以在解析后添加一个额外的步骤来转换“ b”,但是我想没有必要,有一种更优雅的方法,所以这种情况会自动发生吗?

Edit2: ajax页面由php生成。我现在尝试了几件事来创建b的值,所有这些都导致页面上的JSON解析错误:

  $b = 'hello "kitty"';

  // no 1:
  //$b = str_replace('"',"\x22",$b);

  // or no 2:
  // $b = addslashes($b);

  // or no 3: 
  $b = str_replace('"','\"',$b);

  echo '{ "a" : "1", "b" : "' . $b . '"}';

Edit3: 此解决方案终于可以工作了:

$b = 'hello "kitty"';      
$b = str_replace('"','\\"',$b); 
echo '{ "a" : "1", "b" : "' . $b . '"}';

问题答案:

只需使用反斜杠将其转义即可:

> JSON.stringify({"a": 5, "b": 'a "kitty" mighty odd'})
{"a":5,"b":"a \"kitty\" mighty odd"}
> JSON.parse('{"a":5,"b":"a \\"kitty\\" mighty odd"}')
Object
  a: 5
  b: a "kitty" mighty odd
  __proto__: Object

JSON解析器将\"双引号内的字符串识别为双引号。请注意,在第二个示例中,需要双反斜杠,因为有一个Javascript解析器传递,然后是另一个JSON解析器传递。



 类似资料:
  • 问题内容: 如何在浏览器中显示的JavaScript字符串中包含双引号? 我正在做JavaScript作业,我必须在列表中间加上双引号,如下所示: 问题答案: 使用单引号。 或转义双引号。

  • 问题内容: 我想从字符串中删除一个双引号(“)开头和结尾。 如何在Java中实现呢?谢谢! 问题答案: 您可以为此使用模式。 例如 要了解有关正则表达式的更多信息,请访问http://regular-expression.info。 也就是说,这有点像您要发明CSV解析器的味道。如果是这样,我建议您四处看看现有的库,例如OpenCSV。

  • 本文向大家介绍替换php字符串中的单引号为双引号的方法,包括了替换php字符串中的单引号为双引号的方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇替换php字符串中的单引号为双引号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我有一个很好的json_encoded数组。 从函数调用返回时,我需要在json字符串的所有键上去除双引号。 我该如何做并成功返回? 谢谢! 我很抱歉,这是json代码的摘要: 只是添加更多信息: 我将通过AJAX请求检索JSON,因此,如果更简单,我会在javascript方面对如何做到这一点持开放态度。 问题答案: *根据anubhava的评论 *编辑 这当然适用于上面的字符串,尽

  • 问题内容: 当插值PHP的字符串索引数组元素(5.3.3,Win32)时,可能会出现以下现象: 毫无疑问, 最后一行似乎是正确的PHP代码 。有什么解释吗?可以信任此功能吗? 编辑:现在发布的要点以 黑体显示 ,以减少误解。 问题答案: 是的,您可以信任它。文档中介绍了所有插值变量的方法。 如果您有理由这样做,那么,我不能为您提供帮助。但还是一如既往:PHP很老,并且发展了很多,因此引入了不一致的

  • 问题内容: 我在Swift中有一个像这样的字符串: 如果我想将其更改为类似于以下内容的字符串:,我想在索引0处添加括号,该怎么做? 在Objective-C中,是通过以下方式完成的: 如何在Swift中完成? 问题答案: 如果您声明为是,则可以这样做,您可以通过以下方式进行: 输出为: 编辑: 如果要在开始时添加: 如果要在最后一个索引处添加字符: 如果要在特定索引处添加: