0

私のMySQLデータベースには、次の行があります。

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

それをJSONにインポートすると、次のようになります。

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

これにより、JSONLintでエラーが生成されます。

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

以下のコードがJSONLintでエラーを生成しないのはなぜですか?

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

そして、上記の結果を得るためにMySQLから(PHPによって)データをインポートする方法は?

4

1 に答える 1

1

json_encodeMySQLの結果セットで(PHPの組み込み関数)を使用します。

小さな例

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

出力

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

この関数は、JSONLintがデータを受信する前に、送信したデータをすべてクリーンアップします。

json_encodeで詳細をご覧ください。

于 2012-08-26T16:57:46.267 に答える