Skip to content

DanielTM999/javajson

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSON (Conversor de Objetos Java para JSON)

Esta classe fornece uma maneira simples e conveniente de converter objetos Java para o formato JSON. Ela permite que você crie um objeto JSON especificando as chaves e os valores correspondentes, e depois o converta para uma representação em string JSON. Uso

Instancie a classe Json com um construtor vazio ou use o JsonBuilder para uma maneira mais conveniente. Adicione pares de chave-valor ao objeto JSON usando o método put. Chame o método toJson para converter o objeto JSON em uma string JSON.

Exemplo:

    Json json = new Json();
    json.put("nome", "Fulano de Tal");
    json.put("idade", 30);
    String jsonString = json.toJson();
    System.out.println(jsonString); // Saída: {"nome":"Fulano de Tal","idade":30}

Exemplo Generic:

    JsonObject json = new Json();
    json.put("nome", "Fulano de Tal");
    json.put("idade", 30);
    String jsonString = json.toJson();
    System.out.println(jsonString); // Saída: {"nome":"Fulano de Tal","idade":30}

JsonObject è uma interface de Json;

Exemplo:

    Teste teste = new Teste();
    Json json = new Json();
    json = json.CreateComplexJSON(teste);
    String jsonString = json.toJson();
    System.out.println(jsonString);

Métodos disponíveis

  • public void put(String id, Object value): Adiciona um par de chave-valor ao objeto JSON.
  • public String toJson(): Converte o objeto JSON em uma string JSON.
  • public Json CreateComplexJSON(List> itens, String id): Converte o objeto JSON em uma string JSON.
  • publicJson CreateComplexJSON(Collection itens): Converte o objeto JSON em uma string JSON.
  • public Json CreateComplexJSON(Collection itens, String ItentificadorJson): Converte o objeto JSON em uma string JSON.
  • public Json CreateComplexJSON(Object obj): Converte o objeto JSON em uma string JSON.

Classe interna

JsonBuilder: Uma classe de construtor para simplificar o processo de criação de objetos JSON.

Exemplo usando o construtor:

Json json = new Json.JsonBuilder()
                .param("nome").Value("Fulano de Tal")
                .param("idade").Value(30)
                .Create();
String jsonString = json.toJson();
System.out.println(jsonString); // Saída: {"nome":"Fulano de Tal","idade":30}

Observação: Esta classe não fornece funcionalidade de análise JSON (converter uma string JSON para objetos Java).

classe para Analizar Json

A classe JsonAnalyzer é responsável por analisar e converter uma string JSON em uma estrutura de dados Java composta por Map<String, ?>, List<Map<String, Object>> e outros tipos de dados primitivos.

Métodos disponíveis

  • publicMap parse(): Esse método é responsável por iniciar o processo de análise do JSON fornecido no construtor. Ele retorna um Map que representa o objeto JSON de nível superior.
  • public List> analyzeOutput(String outpu):Esse método é utilizado para analisar uma saída JSON em formato de string. Ele recebe a string output contendo o JSON a ser analisado e retorna uma lista de Map. Cada elemento da lista representa um objeto JSON no formato chave-valor.

exemplos Json simples

    public static void main(String[] args) {
        String jsonString = "{\"nome\":\"Daniel\",\"idade\":19,\"cidade\":\"salvador\"}";
        JsonAnalyzer analyzer = new JsonAnalyzer(jsonString);
        Map<String, ?> jsonMap = analyzer.parse();

        System.out.println(jsonMap.get("nome"));
        System.out.println(jsonMap.get("idade"));
        System.out.println(jsonMap.get("cidade"));

    }

exemplos Json complexo

    public static void main(String[] args) {
        String jsonString = "{\"nome\":\"Daniel\",\"idade\":19,\"carros\":[{\"modelo\":\"BMW\",\"ano\":2021},{\"modelo\":\"Audi\",\"ano\":2022}],\"cidade\":\"salvador\"}";
        JsonAnalyzer analyzer = new JsonAnalyzer(jsonString);
        Map<String, ?> jsonMap = analyzer.parse();
        String output = jsonMap.get("carros").toString();
        List<Map<String, Object>> resultList = analyzer.analyzeOutput(output);

        for (Map<String, Object> resultMap : resultList) {
            System.out.println("Object:");
            for (Map.Entry<String, Object> entry : resultMap.entrySet()) {
                String key = entry.getKey();
                Object value = entry.getValue();
                System.out.println(key + ": " + value);
            }
            System.out.println();
        }
    }

passo a passo(uso)

Instancie a classe JsonAnalyzer, passando a string JSON no construtor:

    String jsonString = "{\"nome\":\"Daniel\",\"idade\":19,\"carros\":[{\"modelo\":\"BMW\",\"ano\":2021},{\"modelo\":\"Audi\",\"ano\":2022}],\"cidade\":\"salvador\"}";

    JsonAnalyzer analyzer = new JsonAnalyzer(jsonString);

Chame o método parse() para obter o resultado da análise:

    Map<String, ?> result = analyzer.parse();

O resultado será um Map<String, ?> representando o objeto JSON de nível superior.

Alternativamente, você pode usar o método analyzeOutput() para analisar uma saída JSON em formato de string (OBS para saidas de Json Superior EX: {}, []):

    String output = jsonMap.get("carros").toString();//[{ano=2021, modelo=BMW}, {ano=2022, modelo=Audi}]
    List<Map<String, Object>> resultList = analyzer.analyzeOutput(output);

O resultado será uma lista de Map<String, Object>, onde cada elemento representa um objeto JSON no formato chave-valor.

Exceções

A classe JsonAnalyzer pode lançar as seguintes exceções:

  • IllegalArgumentException: Lançada quando a string JSON é inválida ou não está em conformidade com o formato esperado.

Certifique-se de tratar essas exceções de forma adequada ao utilizar a classe JsonAnalyzer.

Considerações finais

A classe JsonAnalyzer fornece uma implementação simples para análise de JSON em Java. Ela suporta objetos JSON de nível superior, arrays JSON e os seguintes tipos de dados: strings, números, booleanos e valores nulos. Você pode incorporar essa classe em seu projeto para realizar análise e conversão de dados JSON de forma conveniente.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages