てらブログ

てらブログ

日々の学習の備忘録

JSON.stringify()・.json()について

背景

データフェッチする際に、JSON.stringify()や.json()のメソッドが出てきたが、それぞれが何をしているのか良く分かっていなかった。

それぞれについて

  • JSON.stringify()・・・JavaScriptの組み込みメソッドで、JavaScriptの値(オブジェクト、配列、数値、文字列など)をJSON形式の文字列に変換(シリアライズ)する。このメソッドは、JavaScriptの値をJSON形式の文字列に変換して、他のシステムやサーバーとデータを交換する際に使用される。
  • .json()・・・Fetch APIとExpress.jsのレスポンスオブジェクトで使用されるメソッド。Fetch APIの場合、.json()メソッドはHTTPレスポンスボディをJSONとして読み取り、その結果をJavaScriptのオブジェクトまたは値に変換(デシリアライズ)される。一方、Express.jsの場合、.json()メソッドはJavaScriptのオブジェクトまたは値を取り、その内容をJSON形式のHTTPレスポンスボディとしてクライアントに送信する。

結論

APIではJSON形式でデータのやり取りをするため、リクエスト時、レスポンス時にメソッドを使用してJSON形式に変換が必要。
JSON.stringify()はJavaScriptの値をJSON文字列に変換するが、.json()はその逆のことを行ったり(Fetch APIの場合)、またはサーバーからクライアントにJSON形式のHTTPレスポンスを送信するために使用される(Express.jsの場合)。

  • なぜJSONなのか

JSONが言語間で互換性が高く、データを構造化して表現でき、また人間にとって読みやすいため