json_encode関数

PHPver5.2.0からの実装ですが、

json_encode( mixed $value )

て関数があるみたいですね。

引数に入れる値によって、返されるJSONの形式が変わります。

例を挙げると、こんな感じです。

配列:

<?php
$array = array("hoge", "hoge2", "hoge3");
echo "array:". json_encode($array2);
?>

これは

array2:["hoge","hoge2","hoge3"]

配列形式ですね。

連想配列

<?php
$associative_array = array('test'   => "hoge",
                                     'test2' => "hoge2",
                                     'test3' => "hoge3"
                             );

echo "array:". json_encode($associative_array);
?>

とすると

array1:{"test":"hoge","test2":"hoge2","test3":"hoge3"}

オブジェクト形式になります。

クラスインスタンス

<?php
class JsonEncode
{
    public $hoge1 = "hoge";
    public $hoge2 = "hoge2";
    public $hoge3 = "hoge3";
}

$json = new JsonEncode();
echo "class instance:". json_encode($json);
?>

とくれば

class instance:{"hoge1":"hoge","hoge2":"hoge2","hoge3":"hoge3"}

オブジェクト形式ですね。


う〜んややっこしいなぁ・・・

参考:
導入JSON(日本語版) http://www.json.org/json-ja.html