无法解析来自服务器的JSON数据 - 来自MySQL的数据

时间:2012-08-26 13:58:53

标签: php mysql json

我刚刚做了测试,看看我的应用程序是否可以处理特殊的字符。

在PHP表单中,我将数据添加到MySQL,如下:

"test" | 'test' | " £ $ % ^ & * ( ) | 'test' "test"

数据已被转义,在MySQL中看起来像这样:

\\\"test\\\" | \\\'test\\\' | ! \\\" £ $ % ^ & * ( ) | \\\'test\\\' \\\"test\\\"

就像那样转到JSON:

[
    "\\\\\\\"test\\\\\\\"",
    "\\\\\\\'test\\\\\\\'",
    "! \\\\\\\" £ $ % ^ & * ( )",
    "\\\\\\\'test\\\\\\\' \\\\\\\"test\\\\\\\"",
]

不能在JSON中进行解析,所以我在JSONLint.com上面检查过,我得到了这个错误:

Parse error on line 2:
..."test\\\\\\\"",    "\\\\\\\'test\\\\\\\
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['

我知道可以修复但不确定在哪里?

    在发送到MySQL之前,在PHP中
  1. 在MySQL查询之前发送到MySQL数据库?
  2. 在转到JSON之前在PHP中

1 个答案:

答案 0 :(得分:0)

  在我发送给MySQL之前在PHP中

答案是准备好的。使用PDOmysqli

  在MySQL查询发送到MySQL数据库之前

答案是准备好的。使用PDOmysqli

  在转到JSON之前在PHP中

答案是json_encode。不要两次逃避相同的数据。