【PHP入門】JSON形式にエンコードする方法(json_encode)ヤマシタ2017/5/152019/7/17PHPでデータをJSON形式に変換するにはどうすればいいの?そもそもJSONって何?json_encodeの使い方について詳しく知りたいPHPではあらゆる言語で共通して使用する、JSON形式のフォーマットに値を変換することができます。この記事では、JSONの基本的な知識からjson_encodeを使用してJSON形式に変換する方法、JSON形式のデータを取得するjson_decodeの使い方などについて解説していきます。7.1.1」で動作確認しました。Notation)とは、JavaScriptの処理の中でオブジェクトを記述するためのデータ形式のことです。XMLのように簡潔に構造化されたデータを記述することが可能で、最も理解しやすいフォーマットと言えます。JSON形式は「キーと値」のペアで成り立っていて、さまざまなプログラミング言語に対応しています。そのため、1つのJSON形式のデータを用意しておけばデータを共用することができます。JSON形式についてもっと詳しく知りたい方は、以下のサイトを参照してください。NotationJSONのデータ構造JSONの構造以下のようになります。"30歳"}JSON形式は波括弧{...}で囲まれています。"値"となっていて間にコロン(:)で区切られます。「キーと値」のペアとペアの間はカンマ(,)で区切られます。1つのキーに複数登録する場合は、複数の値を配列のように角括弧[...]の中に記述し、値をカンマ(,)で区切ります。]}JSON形式に変換する方法json_encodeの使い方json_encode関数は、指定した値をJSON形式に変換した文字列を返します。)第一引数にJSON形式に変換する値を指定します。第二引数にオプションとしてJSON定数を指定します。第三引数には最大の深さを指定します。正の数で指定する必要があります。戻り値にJSONエンコードされた文字列を返します。処理が失敗した場合はFALSEを返します。※JSONの定義済み定数については、以下のPHPマニュアルで詳しく解説しています。http://php.net/manual/ja/json.constants.php実際にjson_encode関数で値を連想配列をJSON形式の文字列に変換する方法を見ていきましょう。「json.php」ファイルを作成して、以下の処理を記述します。$jsonstr;?>json.phpをブラウザで実行すると、以下のように表示されます。{"value1":1,"value2":2,"value3":3,"value4":4,"value5":5}改行を指定するJSONコードに改行やインデントを指定する場合は、json_encode関数の第二引数にJSON定数のJSON_PRETTY_PRINTを指定します。JSON_PRETTY_PRINT);print_r($jsonstr);?>実行すると、以下のように表示されます。5}日本語で変換する方法JSONは文字コードがUnicodeのため、日本語はUnicode文字に変換されてしまいます。以下のひらがなが含まれる配列をJSON形式に変換すると、「\u3042\u305f\u30441〜」のような形式に変換されてしまいます。'あたい'=>5];{"\u3042\u305f\u30441":1,"\u3042\u305f\u30442":2,"\u3042\u305f\u30443":3,"\u3042\u305f\u30444":4,"\u3042\u305f\u3044":5}このように日本語をUnicode文字に変換すると、大変見づらくなるため、Unicodeに変換しないように指定する必要があります。そのためには、json_encode関数の第二引数にJSON定数のJSON_UNESCAPED_UNICODEを指定します。JSON_UNESCAPED_UNICODEすれば、日本語はそのままでJSON形式に変換することが可能です。JSON_UNESCAPED_UNICODE);print_r($jsonstr);?>{"あたい1":1,"あたい2":2,"あたい3":3,"あたい4":4,"あたい":5}JSON形式のデータを取得する方法json_decodeの使い方JSON形式でエンコードされたデータを、デコードしてPHPで扱える変数に変換するには、json_decode関数を使用します。json_decode関数は以下のように記述します。)以下にJSON形式のデータを取得してjson_decode関数でデコードする簡単なサンプルを紹介します。2018年12月21日まとめここでは、PHPでJSON形式のデータを扱うために、JSONとはJSONのデータ構造についてjson_encodeを使用してJSON形式に変換する方法json_decodeを使用してデータを取得する方法などについて解説しました。JSONという言葉を初めて聞いた方もいるかもしれませんが、データをさまざまな言語で共通して使用するためには、共通したフォーマットが必要です。そのフォーマットの1つとしてJSON形式があるということを、覚えておいてください。JSON形式のデータを扱う方法を忘れてしまったら、この記事を思い出してくださいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。無料体験レッスンを予約する書いた人ヤマシタシステムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。