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

JavaマップをJSONに変換する方法

JavaマップをJSONに変換する方法はいくつかあります。 Java配列とマップをJSONに、またはその逆に変換することは非常に一般的です。

この投稿では、JavaMapをJSONに変換するための3つの異なる例を見ていきます。 Jackson、Gson、org.jsonライブラリを使用します。

Jacksonを使用したJSONへのJavaマップ

次の例では、JacksonCoreとJacksonBindingを使用してJavaMapをJSONに変換します。

Jacksonライブラリを使用するには、最初にそれらをpom.xmlに追加する必要があります。 ファイル:

<dependencies>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-core</artifactId>
        <version>2.9.8</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.9.8</version>
    </dependency>
</dependencies>

次に:

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;

import java.util.HashMap;
import java.util.Map;

public class ConvertJavaMapToJson {

    @Test
    public void convertMapToJson() {
        Map<String, String> elements = new HashMap();
        elements.put("Key1", "Value1");
        elements.put("Key2", "Value2");
        elements.put("Key3", "Value3");

        ObjectMapper objectMapper = new ObjectMapper();

        try {
            String json = objectMapper.writeValueAsString(elements);
            System.out.println(json);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
    }
}

出力:

{"Key2":"Value2","Key1":"Value1","Key3":"Value3"}

出力からわかるように、JSON内の要素の順序は、マップに追加した順序と同じではありません。

注文を保持するには、SortedMapを使用する必要があります 代わりに。

例:

SortedMap<String, String> elements = new TreeMap();

出力:

{"Key1":"Value1","Key2":"Value2","Key3":"Value3"}

関連:

  • JavaでJSONを解析する方法
  • JSONをエンコードおよびデコードする方法
  • JavaオブジェクトをJSONに変換する方法

Gsonを使用したJSONへのJavaマップ

次の例では、Gsonライブラリを使用してJavaマップをJSONに変換しますが、最初に、Gsonを依存関係としてpom.xmlに追加する必要があります。 ファイル。

<dependencies>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.5</version>
    </dependency>
</dependencies>

次に:

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.junit.jupiter.api.Test;

import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.SortedMap;
import java.util.TreeMap;

public class ConvertJavaMapToJson {

    @Test
    public void convertMapToJson() {
        SortedMap<String, String> elements = new TreeMap();
        elements.put("Key1", "Value1");
        elements.put("Key2", "Value2");
        elements.put("Key3", "Value3");

        Gson gson = new Gson();
        Type gsonType = new TypeToken<HashMap>(){}.getType();
        String gsonString = gson.toJson(elements,gsonType);
        System.out.println(gsonString);
    }
}

出力:

{"Key1":"Value1","Key2":"Value2","Key3":"Value3"}

org.jsonを使用したJSONへのJavaマップ

次の例では、org.jsonライブラリを使用してJava MapをJSONに変換しますが、最初に、pom.xmlへの依存関係としてorg.jsonを追加する必要があります。 ファイル。

<dependencies>
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20180813</version>
    </dependency>
</dependencies>

次に:

import org.json.JSONObject;
import org.junit.jupiter.api.Test;

import java.util.HashMap;
import java.util.Map;

public class ConvertJavaMapToJson {

    @Test
    public void convertMapToJson() {
        Map<String, String> elements = new HashMap<>();
        elements.put("Key1", "Value1");
        elements.put("Key2", "Value2");
        elements.put("Key3", "Value3");

        JSONObject json = new JSONObject(elements);

        System.out.println(json);
    }
}

出力:

{"Key2":"Value2","Key1":"Value1","Key3":"Value3"}

  1. JavaオブジェクトをJSONに変換する方法

    このチュートリアルでは、JacksonとGsonの2つのライブラリを使用してJavaオブジェクトをJSONに変換する方法を示します。 標準のPOJOであるPersonクラスを使用します。人物オブジェクトを作成したら、別のライブラリを使用してそれをJSONに変換できます。 Person.java import java.util.List; import java.util.Map; public class Person { String name; Integer age; List<String> hobbies; Map<Str

  2. JavaでJSONを解析する方法

    このチュートリアルでは、さまざまなライブラリを使用してJavaでJSONを解析する方法を見ていきます。 JSONはJavaScriptObjectNotationの略で、JavaScriptのサブセットに基づいています。 データ交換フォーマットとして、Webプログラミングで広く使用されています。ここでは、org.jsonを使用してJavaでJSONを解析する方法を示します。 ライブラリ。 JSONオブジェクトは、順序付けされていないキーと値のペアのセットです。 JSON配列は、順序付けられた値のコレクションです。値自体はオブジェクトまたは配列である可能性があります。 pageNameの