JSON は、データをテキストとして表すための最も一般的な形式の 1 つです。たとえば、JSON は、構成ファイル、ゲーム、テキスト エディター、その他多くの分野で、フロントエンドとバックエンドの間でデータを転送するために使用されます。プログラマーであれば、必ず JSON に遭遇するでしょう。

構文の紹介

JSON で利用可能なデータ型をリストしてみましょう。

  1. 文字列は、二重引用符で囲まれた任意の文字です。

    「クワーティ」
    「125+42」
    「ぐ」

    特殊文字はスラッシュでエスケープされます。

    "1行目\n2行目"
    「彼は「こんにちは!」と言いました。」
  2. 負の数と実数を含む数値。引用符なし:

    18 -333 17.88 1.2e6
  3. ブール値はtrue / false (引用符なし) です。

  4. null は「何もない」ことを表す標準値です。ここでは引用符は使用しません。

  5. 配列-このタイプには、他のタイプの値を含めることができます。角括弧で囲まれています。その要素はカンマで区切られます。

    ["コード", "ジム", "コードジム", " ̄\_(ツ)_/ ̄"]
    [真、真、偽、真、偽、偽、偽、偽、偽]
    [[1, 2]、[3、999、4、-5]、[77]]

    最後の例は配列の配列です

  6. オブジェクト — この複合タイプは最も一般的に使用されます。これにはキーと値のペアが含まれており、値は上記のタイプのいずれか、および他のオブジェクトになります。中括弧で囲まれ、ペアはカンマで区切られます。

    
    {
     "name": "Dale",
     "age": 7
    }
    

Java オブジェクトを JSON として表現する

ここで、いくつかの Java オブジェクトを取り上げ、それが JSON としてどのように見えるかを見てみましょう。

まず、クラスを定義しましょう。


public class Human {
	String name;
	boolean male;
	int age;
	Set<Human> parents;

	public Human(String name, boolean male, int age) {
    	    this.name = name;
    	    this.male = male;
    	    this.age = age;
	}
}

次に、オブジェクトを作成しましょう。


	Human father = new Human("Peter", true, 31);
	Human mother = new Human("Mary", false, 28);
	mother.parents = new HashSet<>();
	Human son = new Human("Paul", true, 7);
	son.parents = Set.of(father, mother);

それでは、次のことを表現してみましょう。息子オブジェクトを可能な限り正確に JSON 形式で表現します。

{
 "名前" : "ポール",
 "男性" : true,
 "年齢" : 7,
 "両親" : [
 {
   "名前" : "ピーター",
   "男性" : true,
   "年齢" : 31,
   "両親" : null
 },
 {
   "名前" : "マリア"、
   "男性" : false、
   "年齢" : 28、
   "両親" : null
 }
]
}

JSON でのコメント

ここにあるものはすべて Java の場合とまったく同じです。コメントには // と /*...*/ の 2 種類があります。それらがどのように異なるのかを思い出させる必要がないことを願っています。