Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでMapをJSONオブジェクトに変換する方法を解説

JSON(JavaScript Object Notation)は、軽量テキストベース、かつ言語に依存しないデータ交換フォーマットです。JSONはオブジェクト配列という2種類の構造化データを表現できます。オブジェクトはキー/バリュー(key/value)ペアの順序を持たないコレクションであり、配列は値の順序付きシーケンスです。

Javaでは、org.json.simple.JSONValue クラスが提供する静的メソッド toJSONString() を使うことで、MapをJSONオブジェクトへ簡単に変換できます。このクラスには、以下の2つの重要な静的メソッドが用意されています。

  • writeJSONString():オブジェクトをJSONテキストにエンコードし、出力ストリームに書き込むメソッド
  • escape():特殊文字や引用符("\\/\r\n\b\f\t など)をエスケープするメソッド

サンプルコード

以下の例では、HashMapに格納したデータを toJSONString() メソッドを使ってJSON形式の文字列に変換しています。

import java.util.*;
import org.json.simple.JSONValue;

public class ConvertMapJSONTest {
    public static void main(String[] args) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("1", "India");
        map.put("2", "Australia");
        map.put("3", "England");
        map.put("4", "South Africa");

        String jsonStr = JSONValue.toJSONString(map); // MapをJSONに変換
        System.out.println(jsonStr);
    }
}

実行結果

{"1":"India","2":"Australia","3":"England","4":"South Africa"}

このように、json-simpleライブラリの JSONValue.toJSONString() メソッドを使用すれば、わずか1行のコードでMapオブジェクトをJSON文字列に変換できます。なお、このライブラリを使用するには、Mavenなどの依存関係管理ツールで com.googlecode.json-simple:json-simple をプロジェクトに追加しておく必要があります。

  1. JavaオブジェクトをJSONに変換する方法(Jackson・Gsonの使い方)

    このチュートリアルでは、JavaオブジェクトをJSON形式に変換する方法を、定番ライブラリであるJacksonとGsonの2つを使って解説します。 サンプルとして使用するのは、ごく標準的なPOJO(Plain Old Java Object)であるPersonクラスです。Personオブジェクトを作成したら、それぞれのライブラリを使ってJSONへ変換してみましょう。 Person.java import java.util.List; import java.util.Map; public class Person { String name; Integer age;

  2. JavaのMapをJSONに変換する3つの方法(Jackson・Gson・org.json)

    JavaのMap(マップ)をJSONに変換する方法はいくつかあります。Javaでは、配列やMapとJSONの相互変換を行う場面が非常に多く、Web APIとのデータ連携などでも欠かせない処理です。 この記事では、代表的なライブラリであるJackson、Gson、org.jsonを使用して、JavaのMapをJSONに変換する3つの具体例をサンプルコード付きで解説します。 Jacksonを使ってJavaのMapをJSONに変換する 最初の例では、Jackson Core と Jackson Databind を使ってJavaのMapをJSONに変換します。 Jacksonライブラリを使用するには