jQuery で解析しようとすると、不正な JSON になります。ドキュメント全体、データベース接続は UTF-8 でエンコードされています。
コード
header('Content-Type: application/json; charset=utf-8');
echo (json_encode($products));
これは出力されるものです(更新):
{
"D8": {
"title": "Green A\/C U\/V Dye Self-Measure bottle treats 32 véhicules 8 oz. (237 ml)",
"image": "http:\/\/www.supercool.ac\/wp-content\/uploads\/2011\/10\/D8.png",
"Description": "<ul>\n<li>Efficace dans le R-134a et R-12 systèmes de réfrigération<\/li>\n<li>Detectable when exposed to U\/V light<\/li>\n<li>Compatible avec PAG, ester, les huiles minérales et<\/li>\n<li>Ne contient pas de solvants!<\/li>\n<li>Will not harm A\/C systems or recovery equipment<\/li>\n<li>Universal A\/C Dye Safe for Hybrid and<br \>\n Véhicules électriques<\/li>\n<li>Partie # D8<\/li>\n<\/ul>\n"
}
}
これはデフォルトでエスケープされるべきではありませんか? それを逃れるにはどうすればよいですか?
アップデート:
json_encode は HTML (説明フィールド) をマングリングしていました。無効な br タグが生成されました<br />
。スラッシュに注意してください。これは 5.2.8 に限定されていると思います。これを修正するために、ホストにアップグレードするよう説得できるまで、一時的な解決策として br タグを削除しました。
preg_replace('/\<br\s\/>/', '', string);