LaravelでJSONを扱う方法【現役エンジニアが解説】

PROGRAM

今回は、LaravelでJSONを扱う方法について、簡単に解説していきます。

JSONとは

JSONとはJavaScriptの表記法を由来としたデータフォーマットです。

様々なプログラミング言語で対応しているため、データ連携で広く使われます。

{
    "name": "田中太郎",
    "email": "taro.tanaka@example.com",
    "favorites": ["IT", "英語"]
    "address": {"address1": "東京都", "address2": "中央区", "address3": "銀座"}
}

JSONでは、{}がオブジェクト、[]は配列として上記のようなデータ構造となります。

JSONを受け取る

LaravelでJSONを受け取る場合、inputメソッドで受け取れます。

$request->input('name'); // 田中太郎
$request->input('address')['address1']; // 東京都
$request->input('favorites')[0]; // IT

上記のように、いつものフォームデータの受け取りと変わりありません。

ただし、Content-Typeにapplication/jsonと指定されている必要があります。

JSONを返す

LaravelからJSONを返す場合、JSONに変換してContent-Typeも指定し出力する必要があります。

これらの処理を行ってくれるメソッドがLaravelにはあり、それがresponse()->jsonメソッドです。

public function index()
{
  return response()->json(['name' => '田中太郎', 'email' => 'taro.tanaka@example.com']);
}

上記のように、jsonメソッドに元となるLaravelのデータを指定するだけで、JSONのデータを返します。