PHP序列化而不转义行情

时间:2014-07-18 08:19:06

标签: php json serialization

我是serializing,然后是json_encoding PHP数组。

之后,我得到了这个字符串:

"a:5:{s:3:\"msg\";s:22:\"Logged in successfully\";s:2:\"id\";i:30;s:8:\"username\";s:5:\"test1\";s:5:\"state\";i:1;s:3:\"poi\";a:5:{i:0;a:2:{s:5:\"state\";i:1;s:3:\"msg\";i:1;}i:1;a:2:{s:5:\"state\";i:1;s:3:\"msg\";i:1;}i:2;a:2:{s:5:\"state\";i:1;s:3:\"msg\";i:1;}i:3;a:2:{s:5:\"state\";i:1;s:3:\"msg\";i:1;}i:4;a:2:{s:5:\"state\";i:1;s:3:\"msg\";i:1;}}}" 

它运行正常,但我需要摆脱\转义,是否有可能给json_encoding这样的选项,或者我必须手动执行吗?

我知道它不再是有效的JSON,但我无法改变它。这是一个给定的要求,尽管很难过。

2 个答案:

答案 0 :(得分:1)

serialize将生成一个包含引号的字符串。如果将该字符串编码为JSON字符串,则需要对这些引号进行转义。如果不转义引号,则无法使用有效的JSON。如果你摆脱了转义字符,它就不再是有效的JSON。

答案 1 :(得分:-1)

正如其他人所说,它不是有效的JSON,但如果它只是“被转义?可能stripcslashes会有所帮助