LaravelでJSONを扱う方法【現役エンジニアが解説】
今回は、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のデータを返します。