Como converter JSON para mapa em Java
-
Biblioteca para converter
Jackson
emJSON
emMap
em Java -
GSON
Biblioteca para converterJSON
paraMap
em 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