PHPプログラムに関する各種メモ書き

phpでjsonを扱う / json_decode() / json_encode()

● jsonデータをPHPの配列にする(デコード)

$array = json_decode( $json, true );

● PHPの配列をjson形式にする(エンコード)

$json = json_encode( $array );

● php5.2より低いバージョンでjsonを扱う 「php-jsonのインストール」

PHPのバージョンが 5.2より低いphpでjsonを扱うには 「php-json」をインストールします。 (ヘテムルなど大手レンタルサーバ会社のサーバには標準でインストールされています。) (他にも PEARパッケージなどがありますが、phpエクステンションとして提供されているphp-json の方が高速なので、php-json を使用します。)

1. phpバージョンの確認

php --version

PHPのバージョンが 5.2.0 以上の場合、php-json はあらかじめインストールされています。 それより低いバージョンの場合のみ手動でインストールしましょう。

2. json-phpのインストール

yum install php-json

でOKです。

4. json.soを指定のディレクトリ(/usr/lib/php/modules/)に移動

cp json.so /usr/lib/php/modules/json.so

5. /etc/php.d/json.ini ファイルの作成

'/etc/php.d/json.ini' というファイルを下記の内容で作成します。

   ; Enable json extension module
    extension=json.so

6. apacheの再起動

    apachectl graceful

これでOKです。

7. 確認

php.info(); 関数で確認します。 実行して表示される画面に json の項目とバージョンが正しく表示されていればOK。

8. json関数の使用。

これで関数

json_encode();
json_decode()

が使用できるようになります。

9 json関数使用の注意

$my_array = json_decode($json,true);

json_decode を使用する際は、2つめの引数に true を渡します。 (trueとすると結果が連想配列で帰ってきます。渡さないとオブジェクトで帰ります。)

No.500
11/23 14:38

edit