2008/1/12 土曜日

PHPでJSONを使う場合のまとめ

Filed under: JSON, Ajax, JavaScript, php — admin @ 14:03:45

手軽に使いたい場合はPHPに標準に組み込まれているJSON関数
json_encodeを使う

(※尚、json_decodeのオプションでtrueにしないと配列で返って来ないので注意。)
ウノウラボ Unoh Labs: PHPでJSONを扱う

あと、事前に配列全体をUTF8に変換しておく必要があるのでそこらへんも注意!!

配列全体をUTF-8に変換

ちなみに、だいたいの実装で多次元連想配列はうまく変換してくれないので

str_replace(array('\"','"','"'),array('"','','\"'),json_encode(convert_utf($lines)))

みたいにして補正して使う。
やってることは勝手についてくる”(ダブルクォート)が多次元配列時にすべての配列にかかってしまうのでその余計な”(ダブルクォート)をstr_replaceで除去している。で、ただ、str_replaceすると、配列の値にエスケープされたダブルクォートまで変換されてしまうので、『\”』→『"』,『”』→『』,『"』→『\”』の順番でエスケープされた”(ダブルクォート)まで変換されないようにしている。

No Tags