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”

}

]

}

以上

  1. コメントはまだありません。

  1. トラックバックはまだありません。