【发布时间】:2015-04-30 20:08:17
【问题描述】:
我正在将一些数据从视图发送到 php 中的控制器。我在发送数据时使用 json_encode,另一方面使用 json_decode。整个工作正常,但是当我在数据中使用一些特殊字符(如单引号或双引号)时,它会失败并且没有接收到数据。有没有办法解决这个问题?我尝试过使用 base64 编码的序列化和反序列化,它对我有用,但即使只有很少的记录,它也很慢。
注意:$data 是一个多维数组
base64_encode(序列化($data)) 反序列化(base64_decode($data))
【问题讨论】:
-
json编码前使用addslashesh,解码时使用php的stripslashesh函数。你可以在 php 手册中阅读这两个函数的详细信息
-
我的数据是多维数组,所以addslashesh 不起作用,因为它需要一个字符串作为输入。
-
这个答案可能会有所帮助:stackoverflow.com/a/20694425/2568469