php json_encode()会在斜杠之前自动添加斜杠

php json_encode()会在斜杠之前自动添加斜杠,php,arrays,json,laravel,laravel-5,Php,Arrays,Json,Laravel,Laravel 5,我以json的形式将数据存储到数据库中。用户可以用引号输入,所以我在引号前手动添加斜杠。所以我的数据变成这样 array:8 [▼ "buttonText" => "Large Button" "campName" => "Large\'s Button Test" "buttonSize" => "1" ] 但是,当我将其转换为json时,json\u encode()函数会自动在我的斜杠前面添加一个斜杠作为 "{"buttonText":"Large Butt

我以json的形式将数据存储到数据库中。用户可以用引号输入,所以我在引号前手动添加斜杠。所以我的数据变成这样

array:8 [▼
  "buttonText" => "Large Button"
  "campName" => "Large\'s Button Test"
  "buttonSize" => "1"
]
但是,当我将其转换为json时,
json\u encode()
函数会自动在我的斜杠前面添加一个斜杠作为

"{"buttonText":"Large Button","campName":"Large\\'s Button Test","buttonSize":"1"}"

为什么要添加额外的斜杠,是否有任何选项可以防止这样做?为什么这样做?手动添加斜杠完全是件坏事

您可以使用如下数组生成JSON:

$arr=array();

$arr['buttonText']="Large Button";
$arr['campName']="Large's Button Test";
$arr['buttonSize']=1;

echo json_encode($arr);
只需使用
json\u encode()
存储值,使用
json\u decode()
获取值

以下是不同的观点:

$arr=array(
    'buttonText'=>"Large Button",
    'campName'=>"Large's Button Test",
    'buttonSize'=>1,
);

echo json_encode($arr);


json\u encode()
自动添加斜杠并
json\u decode()
删除斜杠。你不需要考虑这个。不要担心,要快乐。

你为什么这样做?手动添加斜杠完全是件坏事

您可以使用如下数组生成JSON:

$arr=array();

$arr['buttonText']="Large Button";
$arr['campName']="Large's Button Test";
$arr['buttonSize']=1;

echo json_encode($arr);
只需使用
json\u encode()
存储值,使用
json\u decode()
获取值

以下是不同的观点:

$arr=array(
    'buttonText'=>"Large Button",
    'campName'=>"Large's Button Test",
    'buttonSize'=>1,
);

echo json_encode($arr);


json\u encode()
自动添加斜杠并
json\u decode()
删除斜杠。你不需要考虑这个。别担心,开心点。

添加了额外的斜杠,因为这就是
json\u encode
的作用


在您的例子中,若要对存储在数据库中的数据进行编码,则不需要手动添加斜杠
json_encode
将处理所有转义

添加了额外的斜杠,因为这就是
json\u encode
将要做的


在您的例子中,若要对存储在数据库中的数据进行编码,则不需要手动添加斜杠
json_encode
将处理所有转义

请提供更多代码。由于实现了json编码函数,您通常会遇到这种情况。我想不出任何需要手动添加斜杠的场景。我的印象是,您试图阻止SQL注入,但却破坏了数据。如果您想用反斜杠对值进行编码,正确的JSON编码是双反斜杠。首先,为什么要在数据中添加反斜杠@ravisachaniya-这是关于正斜杠,而不是反斜杠。“为什么要添加额外的斜杠,有没有任何选项可以阻止它?”--你想阻止什么?阻止创建有效的JSON?请随意去掉反斜杠。明天您将带着另一个问题回来,抱怨无法解码格式错误的JSON。请提供更多代码。由于实现了json编码函数,您通常会遇到这种情况。我想不出任何需要手动添加斜杠的场景。我的印象是,您试图阻止SQL注入,但却破坏了数据。如果您想用反斜杠对值进行编码,正确的JSON编码是双反斜杠。首先,为什么要在数据中添加反斜杠@ravisachaniya-这是关于正斜杠,而不是反斜杠。“为什么要添加额外的斜杠,有没有任何选项可以阻止它?”--你想阻止什么?阻止创建有效的JSON?请随意去掉反斜杠。明天您将带着另一个问题回来,抱怨无法解码格式错误的JSON。