どうも。みずかず(@mizukazu_1)です。
今回はPHPでJSONファイルを扱う方法を紹介していきます。
JSON自体は汎用性も高く様々な場所で使われていますよね。
そんなJSONですが、もちろんPHPからも扱う事が出来ます。
早速紹介していきますね!
json_encode関数(オブジェクト⇒JSON)
json_encode関数を使用するとPHPのオブジェクトをJSON形式に変換することが出来ます。
使用方法は以下の通りです。
// オブジェクト
$array = [
'test1' => 'りんご',
'test2' => 'みかん',
'test3' => 'いちご'
];
// オブジェクトをJSONに変換
$json = json_encode($array);
まずJSON形式に変換したいデータを用意します。
そのデータをjson_encode関数の引数に指定すると戻り値としてJSON形式に変換されたデータが返ってきます。
データを整形して出力する
json_encode関数の引数に「JSON_PRETY_PRINT」を指定する事で
データを改行して出力する事が出来ます。
$jsonData = json_encode($data, JSON_PRETY_PRINT);
日本語に変換して出力する
JSONはUnicodeという文字列の為、普通に変換するとUnicode文字という文字に変換されてしまいます。
そのままだと大変見づらく、データの加工などもしづらいので日本語に変換する必要があります。
json_encode関数に「JSON_UNESCAPED_UNICODE」を指定すると日本語に変換して出力する事が出来ます。
$jsonData = json_encode($data, JSON_UNESCAPED_UNICODE);
json_decode関数(JSON⇒オブジェクト)
json_decode関数を使用するとJSON形式のデータをPHPのオブジェクトに変換することが出来ます。
使用方法は以下の通りです。
// JSON形式のデータが格納された変数
$data;
$array = json_decode($data, true);
json_decode関数の第一引数にJSON形式のデータを指定することでJSON形式から
PHPの連想配列の形式に変換することが出来ます。
ただ、一つ注意がありまして第二引数にtrueを指定する必要があります。
まとめ
- PHPオブジェクトからJSONへの変換はjson_encode関数
- JSONからPHPオブジェクトへの変換はjson_decode関数
- 定義済み定数を使用することでオプションを付与することが出来る
JSON形式のデータは扱いが便利で様々な場所で使用されています。
(API等)
JSONのデータを操作する方法を覚えておくのは役に立つと思うので是非覚える事をオススメします。
忘れた時にはこの記事を見て思い出してください!
みずかず
関連記事はこちら!
スポンサーリンク