$emailFields = array(
array(
'name' => 'comments',
'type' => 'html',
'content' => "ahfsd\jfh/sf's askghaskg sadf"
),
);
echo json_encode($emailFields);
打印
[{
"name": "comments",
"type": "html",
"content": "ahfsd\\jfh/sf's askghaskg sadf"
}]
为什么json_encode无法逃脱'
?
答案 0 :(得分:1)
正如JSON Docs所说,JSON中的字符串被双引号括起来。没有必要在JSON中转义单引号。
值可以是双引号中的字符串,或数字,或true或false或null,或对象或数组。这些结构可以嵌套。
另外
字符串是零个或多个Unicode字符的序列,用双引号包装,使用反斜杠转义符。字符表示为单个字符串。
您应该在字符串值中转义 double 引号。
答案 1 :(得分:0)
如果您想将任何`转换为\ u0027,您可以使用以下代码执行此操作:
json_encode($emailFields, JSON_HEX_APOS)
或者您可以映射数组并在每个值上转义撇号。 我不确定你想要实现什么以及为什么要逃避它,但我给了你一些工具,你将由你自己决定。