Como converter JSON para mapa em Java
-
Biblioteca para converter
JacksonemJSONemMapem Java -
GSONBiblioteca para converterJSONparaMapem Java
Introduziremos como converter um JSON existente para um mapa em Java. O JSON é freqüentemente usado para estruturar os dados, mas às vezes temos que obter os valores JSON em algum outro tipo de dados e depois trabalhar com eles.
Várias bibliotecas são criadas para trabalhar com o JSON em Java. Veremos as duas bibliotecas de análise JSON mais utilizadas que nos permitem fazer muitas operações JSON.
Abaixo está o JSON no qual vamos trabalhar neste tutorial para uma melhor compreensão.
{
"login" :
{
"userName" : "John Doe",
"email" : "johndoe@john.com"
}
}
Biblioteca para converter Jackson em JSON em Map em Java
Temos que incluir a dependência abaixo em nosso projeto para que os métodos e classes da biblioteca Jackson possam ser herdados.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.2</version>
<scope>compile</scope>
</dependency>
Depois de adicionar a dependência, primeiro vamos obter o arquivo JSON local utilizando o método FileInputStream(),
Precisamos chamar ObjectMapper().readValue() da biblioteca Jackson para converter nosso JSON em Map. A função readValue(JSON, ClassType) toma dois argumentos, o JSON e o ClassType que queremos que o JSON seja formatado. Como queremos converter o JSON para o formato Map, utilizaremos o Hashmap.class.
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
public class Main {
public static void main(String[] args) throws IOException {
InputStream getLocalJsonFile = new FileInputStream("/sample.json");
HashMap<String, Object> jsonMap = new ObjectMapper().readValue(getLocalJsonFile, HashMap.class);
System.out.println(jsonMap);
}
}
Resultado:
{login={userName=John Doe, email=johndoe@john.com}}
GSON Biblioteca para converter JSON para Map em Java
Em primeiro lugar, devemos incluir a dependência de nosso projeto para incluir todos os métodos e classes da GSON em nossa aplicação.
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
A GSON é uma biblioteca JSON amplamente utilizada, que analisaremos e converteremos em Java Map.
Gson().fromJson(json, type) espera dois argumentos, um dos quais é o arquivo JSON que podemos obter utilizando new JsonReader(new FileReader(jsonFilePath)) e o segundo argumento é o tipo para o qual queremos que o JSON seja convertido.
Confira o exemplo abaixo.
import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
import com.google.gson.stream.JsonReader;
import java.io.FileReader;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.Map;
public class Main {
public static void main(String[] args) throws IOException {
JsonReader getLocalJsonFile = new JsonReader(new FileReader("/sample.json"));
Type mapTokenType = new TypeToken<Map<String, Map>>() {}.getType();
Map<String, String[]> jsonMap = new Gson().fromJson(getLocalJsonFile, mapTokenType);
System.out.println(jsonMap);
}
}
Resultado:
{login={userName=John Doe, email=johndoe@john.com}}
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
