如何在不转义斜杠的情况下使用json_encode?

时间:2013-02-08 04:44:51

标签: php escaping json

我正在对它进行编码..

json_encode($array_list, JSON_UNESCAPED_SLASHES)

Ex:\ n变为\\ n,\ r \ n变为\\ r \\ n

但是,它仍在逃避斜线!怎么了?怎么解决?感谢。

2 个答案:

答案 0 :(得分:19)

我认为这是因为single and double quotes,请参阅示例

$arr = array("\n\r");
echo json_encode($arr,JSON_UNESCAPED_SLASHES);  // ["\n\r"]

$arr = array('\n\r');
echo json_encode($arr,JSON_UNESCAPED_SLASHES);  //["\\n\\r"]

工作示例http://codepad.viper-7.com/LvWMhq

答案 1 :(得分:0)

如果在进行任何MySQL查询时这是一个问题,那么您可以像这样使用它:

mysql_real_escape_string(json_encode($array))

在此之前无需转义$array本身的任何内容,只需让mysql_real_escape_string转义json_encoded字符串。