相关疑难解决方法(0)

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

我从服务器收到Ajax请求中的JSON响应.这种方式有效:

{"a":"1","b":"hello'kitty'"}

但我没有成功地在kitty周围加双引号.

当我在Ajax响应中将"转换为\ x22时,它仍被解释为"由JavaScript而我无法解析JSON.

我是否也应该逃避\和unescape以后(这是可能的)?

这该怎么做?

编辑:我不确定我是否表达得很好:我想在解析之后将这个字符串放在"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 . '"}';
Run Code Online (Sandbox Code Playgroud)

Edit3:这个解决方案最终有效:

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

php ajax json escaping

40
推荐指数
1
解决办法
10万
查看次数

xslt 1.0字符串替换函数

我有一个字符串"aa :: bb :: aa"

并需要把它变成"aa,bb,aa"

我试过了

translate(string,':',', ')
Run Code Online (Sandbox Code Playgroud)

但这会返回"aa ,, bb ,, aa"

如何才能做到这一点.

xslt xslt-1.0

21
推荐指数
1
解决办法
7万
查看次数

标签 统计

ajax ×1

escaping ×1

json ×1

php ×1

xslt ×1

xslt-1.0 ×1