【发布时间】:2017-11-30 03:50:43
【问题描述】:
我正在将我的数据以 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"}"
为什么要添加额外的斜线,是否有任何选项可以防止这种情况
【问题讨论】:
-
请提供更多代码。您遇到的情况通常是由于两次实施 json 编码功能而发生的
-
我想不出任何需要手动添加斜杠的场景。我的印象是您试图阻止 SQL 注入,但您却在破坏数据。
-
如果你想用反斜杠编码一个值,正确的 JSON 编码是双反斜杠。 为什么首先要在数据中添加反斜杠?!
-
@ravisachaniya — 这是关于正斜杠,而不是反斜杠。
-
"为什么要添加额外的斜线,有什么选项可以阻止吗?" -- 你想阻止什么?为了防止
json_encode()创建一个有效的JSON?继续并根据需要删除反斜杠。明天你会带着另一个问题回来,抱怨json_decode()无法解码你的格式错误的 JSON。
标签: php arrays json laravel laravel-5