我将数据以json的形式存储到数据库中。用户可以输入引号,所以我在引号前手动添加斜杠。所以我的数据就像这样
array:8 [▼
"buttonText" => "Large Button"
"campName" => "Large\'s Button Test"
"buttonSize" => "1"
]
但是当我将它转换为json时,json_encode()
函数会在我的斜杠之前自动添加一个斜杠
"{"buttonText":"Large Button","campName":"Large\\'s Button Test","buttonSize":"1"}"
为什么要添加额外的斜杠,是否有任何选项可以阻止
答案 0 :(得分:1)
你为什么这样做?完全是添加斜线的坏事。
您可以使用以下数组生成JSON:
$arr=array();
$arr['buttonText']="Large Button";
$arr['campName']="Large's Button Test";
$arr['buttonSize']=1;
echo json_encode($arr);
只需使用json_encode()
存储值,json_decode()
即可获取值。
这是不同的方法:
$arr=array(
'buttonText'=>"Large Button",
'campName'=>"Large's Button Test",
'buttonSize'=>1,
);
echo json_encode($arr);
<强> JSON ENCODE - Manual 强>
<强> JSON DECODE - Manual 强>
json_encode()
自动添加斜线并json_decode()
将其删除。你不需要考虑这个问题。只是不要担心并且快乐。
答案 1 :(得分:1)
添加了额外的斜杠,因为这是json_encode
将执行的操作。 See this documentation
如果您要将数据编码存储在数据库中,则不需要手动添加斜线。 json_encode
将负责所有逃脱。