Como converter o Hashmap para Objeto JSON em Java
-
new JSONObject(hashmap)
para converter o Hashmap em objeto JSON - Biblioteca Jackson para converter o Hashmap em um objeto JSON
-
Biblioteca GSON para converter o
Hashmap
em objetoJSON
Este artigo mostra as maneiras de converter um hashmap em um objeto JSON em Java. Veremos os exemplos em detalhes sobre como criar um hashmap e depois convertê-lo em um objeto JSON.
Hashmap e JSON são ambos muito usados pelos desenvolvedores, pois nos ajudam a criar uma estrutura simples que pode ser usada para armazenar e transferir dados facilmente.
new JSONObject(hashmap)
para converter o Hashmap em objeto JSON
A maneira mais tradicional de converter um hashmap em um objeto JSON é chamando JSONObject()
e depois passar o hashmap.
Vamos dar uma olhada em um exemplo que cria um hashmap e depois o imprime no formato JSON.
import java.util.HashMap;
import java.util.Map;
import org.json.simple.JSONObject;
public class Main {
public static void main(String[] args) {
Map<String, Object> map = new HashMap();
map.put("key1", "value1");
map.put("key2", "value2");
JSONObject json = new JSONObject(map);
System.out.printf("JSON: %s", json);
}
Resultado:
JSON: {"key1":"value1","key2":"value2"}
Uma coisa a se notar aqui é que Map<String, Object>
toma uma string, que é a key
, e o Object, que é o value
. Isso significa que podemos passar qualquer objeto válido como um valor para o mapa e depois convertê-lo como um objeto JSON.
Abaixo está um exemplo que toma uma string e um Arraylist
como o valor.
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import org.json.simple.JSONObject;
public class Main {
public static void main(String[] args) {
ArrayList<String> stringArrayList = new ArrayList<>();
stringArrayList.add("firstString");
stringArrayList.add("secondString");
stringArrayList.add("thirdString");
Map<String, Object> map = new HashMap();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("stringList", stringArrayList);
JSONObject json = new JSONObject(map);
System.out.printf("JSON: %s", json);
}
Resultado:
JSON: {"key1":"value1","key2":"value2","stringList":["firstString","secondString","thirdString"]}
Biblioteca Jackson para converter o Hashmap em um objeto JSON
Existem bibliotecas em Java que podem nos ajudar a converter nosso hashmap em um objeto JSON com muita flexibilidade.
Jackson é uma dessas bibliotecas que pega um mapa em Java e depois converte o mapa em formato JSON.
Não devemos esquecer de lidar com o JsonProcessingException
como ObjectMapper().writeValueAsString(map)
pode lançar uma exceção quando encontrar um formato de dados incompatível.
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) throws JsonProcessingException {
Map<String, Object> map = new HashMap();
map.put("key1", "value1");
map.put("key2", "value2");
String json = new ObjectMapper().writeValueAsString(map);
System.out.printf("JSON: %s", json);
}
Resultado:
JSON: {"key1":"value1","key2":"value2"}
Biblioteca GSON para converter o Hashmap
em objeto JSON
A biblioteca Gson é uma das bibliotecas mais utilizadas para converter um hashmap em um objeto JSON. Ela fornece métodos fáceis de trabalhar em nosso hashmap e JSON.
A classe Gson
tem um método toJsonTree
, que pega nosso mapa e o converte em uma árvore JSON. Mas como precisamos de um objeto JSON, podemos utilizar toJSONObject()
para tornar a árvore JSON um objeto JSON.
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Object> map = new HashMap();
map.put("key1", "value1");
map.put("key2", "value2");
Gson gson = new Gson();
JsonObject json = gson.toJsonTree(map).getAsJsonObject();
System.out.printf("JSON: %s", json);
}
Resultado:
JSON: {"key1":"value1","key2":"value2"}
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArtigo relacionado - Java JSON
- Converter XML em JSON em Java
- Conversão de JSON para XML em Java
- Converter JSON em objeto Java
- Leia o arquivo JSON em Java
- Analisar JSON em Java
- Converter String em objecto JSON em Java