Help us understand the problem. What is going on with this article?

JavaScriptのオブジェクトとJSONの違い【今更ですが・・・】

【更新情報】
1/7(木):コメントにてご指摘して頂いたので、タイトルを「JSON型」から「JSON」に変更しました。

今更ならが、JavaScriptのオブジェクトとJSONの違いについてメモっときます。

(「そういえばどこが違うんだっけ・・・」となってしまったので。笑)

JavaScriptのオブジェクトとJSONの違い

JSONはJavaScriptの記法を元に生まれたので書き方が似ているけど、オブジェクトとJSONは全然別物。

オブジェクト・・・プロパティの集まりの名称
JSON・・・テキストベースのデータフォーマット

【補足】
データフォーマット・・・特定の形式 (フォーマット) に当てはめられたデータの集まり

ちょっと理解しづらいですが、まぁ何となく理解できればOKかと。
ちなみにデータフォーマットはJSON意外だと、XMLCSVなどがありまっする。

JavaScriptのオブジェクトとJSONの書き方の違い

凄く単純で、キー名をダブルクォーテーション("")で囲んでるかどうかで判断すればOK。

オブジェクトの書き方

オブジェクトの書き方は以下の通り。
・キー名はダブルクォーテーション("")またはシングルクォーテーション('')囲む or 囲まないどっちでもOK。
・値はダブルクォーテーション("")またはシングルクォーテーション('')囲む。
最後のカンマはあってもなくてもOK

下記のようなパターンがある。
でも「キー名は囲まずに、値の文字列はダブルクウォーテーションで囲む」のが一般的。

{ 
  id: 0,
  test: "テスト",
}

{ 
  id: 0,
  test: 'テスト',
}

{ 
  "id": 0,
  "test": 'テスト',
}

{ 
  'id': 0,
  'test': 'テスト',
}

JSONの書き方

JSONの書き方は以下の通り。

・キーをダブルクオーテーション("")で囲む
・値の文字列をダブルクォーテーション("")で囲む。
最後のカンマはつけられない。

{ 
  "id": 0, //文字列は囲まない
  "test": "テスト" //最後はカンマなし
}

こんな感じ。

JSON.stringify()とJSON.parse()の違い

JSON.stringify()はJavaScriptのオブジェクトをJSON文字列に変換する関数。
JSON.parse()JSON文字列をJavaScriptオブジェクトに変換する関数。

howaito01
21歳。文系エンジニアやってます。 内定は頂いているので、ひたすら修行する日々です。 PHP/Laravel/JavaScript/Vue.jsがメインの投稿になるかと・・・ 出来るだけ、有意義な投稿を心がけます。
https://shiro-changelife.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away