Jsonの読み込み PEARやらZENDやら
ZENDで組んでいるシステムで、Jqueryを使ったUIを追加する仕事で、はまった。
PHP側からもJquery側からも読み込める形式でデータをテキストに落とし込むのに、JSONを使うことにしたんだけども、
これがPHP側からどうやっても読み込めない。
PEAR/JSONをつかっても、ZEND:JSONを使ってもだめ。
PHP5.2以降だと、json_decode()なる関数が使えるそうなんだけども、あいにく今使っているSixCoreじゃ、5.16しか使えない。
うーんとだいぶん唸っていました。
なかばやけで、文字コードをいじっていたら、あっさり解決。
結論から言うと、UTF-8N形式でJSONデータ保存しておかないといけないようです。
UTF8じゃないといけないとは書いてあったけども、、、UTF-8N(BOMなし)じゃないといけないだなんて。。
ちなみに、Jquery側からはUTF-8でも問題なし。
サンプルソースはこんな感じ。
require_once ‘Json.php’; //ZENDにパスが通っているとして。
<$jsonText = file_get_contents("js/data.json"); $array=Zend_Json::decode($jsonText); print_r($array);
ついでに、JSONのサンプル
{
“item” : [
{
“name” : “エリア未選択”,
“amount” : “0”
},
{
“name” : “全国”,
“amount” : “35000”
}
]
}
以上
コメントはまだありません。