phpでDBから取り出したJson文字列のJson_decodeに失敗する。。
環境ではなく、ケース依存のようだ。
とあるControllerを経由したときだけ、json_decodeできないケースが発生する。
以下を確認しつつ、頭をひねる。
0. 文字列的には何の問題もなさそうだ。単なるString.
1. UTF-8でエンコードされてるようだ。BOMもなし。
2. null文字でも間に入ってるのか?charの除去、詰めなおしも効果なし。
3. json_last_error()で帰ってくるのはJSON_ERROR_SYNTAX。4てやつ。
4. なんだこりゃ?
サニタイズされてました。
結論から言うと以下のアンサーで直りました。
http://stackoverflow.com/questions/24144159/json-decode-returns-json-error-syntax-in-opencart
php
$rules = str_replace('"', '"', $rules);
ブラウザ上でprint_r()やらDebug::dump()やらしてて見分けられるの・・か?
ソースで見ても"
が"
になる訳でもないようだし。。