【初心者向け】PHPでJSONを扱う5つの具体的なステップ

初心者がPHPでJSONを扱うためのステップバイステップガイド PHP
この記事は約6分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればサンプルコードを活用して機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読めば、PHPを用いてJSONデータを扱うことができるようになります。

初めての方でも大丈夫、一歩一歩説明していきます。まずはPHPとJSONについての基本を理解し、その後で具体的な操作方法を学んでいきましょう。

実用的なサンプルコードも5つ用意しました。

ステップバイステップで学べるので、ぜひチャレンジしてみてください。

●PHPとは何か

PHPは、Webサイトのサーバーサイドで動作するスクリプト言語です。

HTMLを動的に生成したり、データベースと連携したりするために利用されます。

○PHPの基本

PHPのコードは、<?php?> の間に記述します。

例えば、次のように表示させることができます。

<?php
echo "Hello, World!";
?>

これは、画面に “Hello, World!” と表示させる最も基本的なPHPのプログラムです。

echo は指定した文字列を出力する命令です。

●JSONとは何か

JSON(JavaScript Object Notation)は、データを格納・交換するための軽量なデータ形式です。

人間が読み書きしやすく、マシンも簡単に解析・生成することができます。

○JSONの基本

JSONは、データを”キー”と”値”の組み合わせで表現します。

これを「名前-値ペア」または「キー-バリューペア」と言います。

{
  "name": "John",
  "age": 30,
  "city": "New York"
}

ここでは、"name", "age", "city"がキーで、それぞれ"John", 30, "New York"が値となります。

●PHPでJSONを読み込む方法

では、PHPでJSONデータを扱う基本的な方法について見ていきましょう。

○サンプルコード1:PHPでJSONファイルを読み込む

次のコードは、PHPでJSONファイルを読み込む一例です。

file_get_contents関数を使って、ファイルの内容を一度に読み込みます。

そして、json_decode関数でJSONデータをPHPの配列に変換しています。

<?php
$json = file_get_contents('example.json');
$data = json_decode($json, true);
var_dump($data);
?>

file_get_contentsはファイルの内容を全て文字列として取得する関数で、’example.json’は取得したいJSONファイルの名前です。

json_decodeはJSON形式の文字列をPHPの値に変換する関数で、第二引数にtrueを指定すると連想配列に変換します。

最後にvar_dump関数で読み込んだデータを表示しています。

○サンプルコード2:PHPでJSON形式の文字列を読み込む

次に、PHPでJSON形式の文字列を読み込むコードを見てみましょう。

<?php
$json = '{"name":"John", "age":30, "city":"New York"}';
$data = json_decode($json, true);
var_dump($data);
?>

このコードでは、json_decode関数を使ってJSON形式の文字列をPHPの配列に変換しています。

先程の例と同じく、var_dump関数で変換後のデータを表示しています。

以上がPHPでJSONを読み込む方法になります。

ファイルから読み込む方法と、文字列として読み込む方法の2つを覚えておきましょう。

●PHPでJSONを書き出す方法

PHPでJSONを書き出す際は、json_encode関数を用います。

これはPHPの値をJSON形式の文字列に変換する関数です。

ファイルに書き出す場合と、ブラウザ上に出力する場合の2つの方法を学びましょう。

○サンプルコード3:PHPでデータをJSONファイルに書き出す

次のコードは、PHPで配列のデータをJSONファイルに書き出す一例です。

まず、配列データを作成し、json_encode関数でJSON形式の文字列に変換。

最後にfile_put_contents関数でJSONファイルとして出力します。

<?php
$data = array('name' => 'John', 'age' => 30, 'city' => 'New York');
$json = json_encode($data);
file_put_contents('output.json', $json);
?>

このコードでは、json_encode関数で配列$dataをJSON形式の文字列に変換し、その結果を$jsonに格納しています。

その後、file_put_contents関数を使ってoutput.jsonという名前のファイルにJSON文字列を書き込んでいます。

○サンプルコード4:PHPでデータをJSON形式の文字列として出力する

PHPでデータをJSON形式の文字列としてブラウザに出力することもできます。

次のコードを見てみましょう。

<?php
$data = array('name' => 'John', 'age' => 30, 'city' => 'New York');
$json = json_encode($data);
echo $json;
?>

ここでは、echo関数を使ってJSON形式の文字列を直接出力しています。

結果はブラウザ上にJSON形式の文字列として表示されます。

以上がPHPでJSONデータを扱う基本的な方法です。

これらを覚えておけば、PHPでJSONデータを読み書きすることができます。

●注意点と対処法

しかし、JSONを扱う際にはいくつか注意点があります。

その一つがエンコードとデコードの際のエラーです。

エラーが発生した場合、json_last_error_msg関数を使用してエラーメッセージを取得することができます。

これにより、何が問題であったのか特定しやすくなります。

また、文字コードの扱いにも注意が必要です。

JSONの仕様では、文字列はUTF-8でエンコードされている必要があります。

他の文字コードで書かれた文字列を扱う場合には、mb_convert_encoding関数などを用いて、適切に変換を行うことが求められます。

まとめ

PHPでJSONを扱う方法について解説しました。

PHPの基本から始め、JSONの読み込み方、書き出し方、そして注意点まで、初心者でも実践できる5つの具体的なステップを紹介しました。

これらのスキルを身につけることで、より多様なデータを扱うことができるようになります。

プログラミング学習を進める中で、ぜひ参考にしてください。