Како да конвертирате Java мапа во JSON

Постојат голем број начини да ја претворите Java Map во JSON. Сосема е вообичаено да се претворат низите на Java и мапите во JSON и обратно.

Во овој пост, разгледуваме 3 различни примери за да ја претвориме Java Map во JSON. Beе користиме библиотеки Jексон, Гсон и org.json.

Јава мапа до JSON со употреба на ексон

Следниот пример ги користи Jackson Core и Jackson Binding за претворање на Java Map во JSON.

За да ги користиме библиотеките Jексон, прво треба да ги додадеме во нашите pom.xml досие:



com.fasterxml.jackson.core

jackson-core
2.9.8


com.fasterxml.jackson.core
jackson-databind
2.9.8

Потоа:

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 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 elements = new TreeMap();

Излез:

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

Поврзано:

Јава мапа до JSON со употреба на Gson

Следниот пример ја користи библиотеката Gson за претворање на Java Map во JSON, но прво, треба да го додадеме Gson како зависност од pom.xml досие.



com.google.code.gson
gson
2.8.5

Потоа:

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 elements = new TreeMap();
elements.put('Key1', 'Value1');
elements.put('Key2', 'Value2');
elements.put('Key3', 'Value3');

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

Излез:

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

Јава мапа до JSON со употреба на org.json

Следниот пример ја користи библиотеката org.json за претворање на Java Map во JSON, но прво, треба да додадеме org.json како зависност од pom.xml досие.



org.json
json
20180813

Потоа:

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 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'}