現在の位置: ホーム> 最新記事一覧> PHPとMySQLを使用して複雑なJSONデータ構造を処理する方法は?チュートリアルと例

PHPとMySQLを使用して複雑なJSONデータ構造を処理する方法は?チュートリアルと例

M66 2025-06-18

PHPとMySQLを使用して複雑なJSONデータ構造を処理する方法

現代のWeb開発では、JSON(JavaScriptオブジェクト表記)は、データ交換の主要な形式の1つになりました。 PHPとMySQLは、開発者が複雑なJSONデータ構造を処理できるように強力なツールを提供します。この記事では、PHPでJSONデータをデコードし、JSONデータを操作し、MySQLデータベースに保存する方法を示します。

JSONデータを保存するMySQLデータベーステーブルを作成します

まず、JSONデータを保存するにはMySQLデータベーステーブルを作成する必要があります。 IDデータフィールドを含むJSON_DATAという名前のテーブルを作成し、データフィールドがJSONデータを保存するために使用されるとします。テーブルを作成するSQLステートメントは次のとおりです。

テーブルJSON_DATAを作成します(
  id int(11)null auto_incrementではない、
  データJSON、
  ホストキー(ID)
);

JSONデータをMySQLデータベースに挿入します

次に、PHPスクリプトを介してJSONデータをデータベースに挿入します。まず、 json_decode()関数を使用して、JSONデータをPHPアレイに変換する必要があります。

$ json = '{
  「名前」:「ジョン・ドゥ」、
  「年齢」:30、
  "位置": {
    「都市」:「ニューヨーク」、
    「状態」:「NY」、
    「国」:「アメリカ」
  }、
  「趣味」:[「読書」、「旅行」、「料理」]]
} ';

$ data = json_decode($ json、true);

次に、 MySQLI拡張機能を使用してMySQLデータベースに接続し、挿入操作を実行します。

$ mysqli = new mysqli( "localhost"、 "username"、 "password"、 "database_name");
$ query = "json_data(data)valuesに挿入(?)";
$ステートメント= $ mysqli-> prepare($ query);
$ statement-> bind_param( "s"、json_encode($ data));
$ statement-> execute();
$ステートメント - > close();
$ mysqli-> close();

データベースからJSONデータを抽出します

データベースから保存されたJSONデータの抽出も簡単です。まず、SQLクエリを実行してデータを抽出します。

$ query = "json_dataからデータを選択します。ここで、id =?limit 1";
$ステートメント= $ mysqli-> prepare($ query);
$ id = 1; // ID 1 $ステートメントでデータを抽出すると仮定します - > bind_param( "i"、$ id);
$ statement-> execute();
$ステートメント - > bind_result($ jsondata);
$ステートメント - > fetch();
$ステートメント - > close();
$ mysqli-> close();

次に、 json_decode()関数を使用して、JSONデータをPHPアレイにデコードします。

$ data = json_decode($ jsondata、true);

JSONデータを操作します

また、JSONデータを操作するのは非常に簡単です。たとえば、次のコードを介してJSONフィールドにアクセスできます。

echo $ data ['name']; //出力:John Doe
echo $ data ['location'] ['city']; //出力:ニューヨーク

JSONデータに配列が含まれている場合、その中の要素を繰り返すためにforeachを使用できます。

foreach($ data ['hobbies'] as $ hobby){
  echo $趣味; //出力:旅行料理を読む
}

MySQL JSON関数を使用してデータをクエリおよび更新します

MySQLはJSON関数を提供し、開発者がSQLクエリでJSONデータを直接処理できるようにします。 John Doeという名前のレコードを検索し、その年齢を返す例は次のとおりです。

$ query = "select data-> '$。年齢' json_data where data-> '$。name' =?";
$ステートメント= $ mysqli-> prepare($ query);
$ name = "John Doe";
$ステートメント - > bind_param( "s"、$ name);
$ statement-> execute();
$ステートメント - > bind_result($ age);
$ステートメント - > fetch();
$ステートメント - > close();
$ mysqli-> close();

出力:

echo $ age; //出力:30

要約します

上記の例を使用して、PHPとMySQLを使用して複雑なJSONデータ構造を処理する方法を示します。 JSONデータをデータベースに挿入する、データの抽出とデコード、または高度なクエリ用のMySQLのJSON関数を使用するかどうかにかかわらず、PHPとMySQLは強力なサポートを提供します。この記事が、開発者がプロ​​ジェクトでJSONデータを効率的に処理する方法を詳細に理解するのに役立つことを願っています。