如何将转义数据从MySQL导入JSON?

时间:2012-08-26 16:36:08

标签: php mysql json

在我的MySQL数据库中,我有以下行:

\"test\" | \'test\' | \'test\' \"test\"

如果我将其导入JSON,我会得到:

[
    "\"test\"",
    "\'test\'",
    "\'test\' \"test\""
]

将在JSONLint中生成erron:

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

为什么以下代码不会在JSONLint中生成错误?

[
    "\"test\"",
    "\\'test\\'",
    "\\'test\\' \"test\""
]

如何从MySQL导入数据(通过PHP)以获得上述结果?

1 个答案:

答案 0 :(得分:1)

在MySQL的结果集上使用json_encode(PHP中的内置函数)。

小例子

$a = Array(
    '\"test\"',
    '\'test\'',
    '\'test\' \"test\"'
);
echo json_encode($a);

输出

[
    "\"test\"",
    "'test'",
    "'test' \"test\""
]

在JSONLint收到数据之前,该函数会清除发送给它的所有数据。

json_encode上阅读更多内容。