ラベル json の投稿を表示しています。 すべての投稿を表示
ラベル json の投稿を表示しています。 すべての投稿を表示

2013年3月21日木曜日

[cakephp 1.3] JSON出力する単純な例

  1. 拡張子でリソースの種類を判断できるよう、「{app}/config/routes.php」に Router::parseExtensions()を追加します。
  2. JSON用のデフォルトレイアウトビューファイル「{app}/views/layouts/json/default.ctp」を追加します。
  3. cake bake project すると、{app}/views/layouts に email,js,json,rss,xmlのフォルダーが 自動的に作成されるので必要はないがzipを展開しただけなら無いので作成が必要。

  4. データをJSON出力するためのビューファイル「{app}/views/posts/json/index.ctp」を作成します。
  5. コントローラーにコンポーネントRequestHandlerを追加します。
  6. debug設定が0でないとContent-Typeがtext/htmlになるようなので、 debug設定を0にしてJSONのときのContent-Typeがapplication/jsonになるようにします。 (4.と5.はapp_controller.phpに設定してしまってもよいかもしれません)
  7. JSON出力するデータをセットします。
CakePHP(1.3)でJSON出力する単純な例を参考にしました。

2012年6月1日金曜日

[javascript] JSONの使い方

まず、http://www.json.org/ のJavaScript json2.js を取得する。

github から ZIPボタンを押してダウンロード、解凍して適当に設置する。

<script type="text/javascript" src="../js/json2.js"></script>

これで準備は整った。
オブジェクトや配列からJSON文字列に変換するには

JSON.stringify() を使う

JSON.stringify(value, replacer, space)

value オブジェクトや配列

replacer 

space 入れ子の構造のインデント値、整形して表示するような時に使用する。
通常のJSON文字列にする場合は指定しない。
ここにスペースを入れておくと、phpのvar_dump()ようにインデントする。

JSON文字列からオブジェクトに変換するには 

JSON.parse()を使う

JSON.parse(text, )

text

reviver


2012年5月31日木曜日

[php] JSONと連想配列の相互変換

$arrayData = (array) json_decode($jsonData);

$jsonData = json_encode((object) $arrayData);