O método build() da biblioteca Jackson é amplamente utilizado para converter objetos Java em representações JSON. No entanto, por padrão, a saída JSON gerada pelo método build() é compacta e não é formatada para legibilidade humana. Se você deseja imprimir a saída JSON de forma mais legível, pode usar a técnica conhecida como pretty-printing.
O pretty-printing envolve adicionar espaços em branco e indentação ao JSON para torná-lo mais fácil de ler e entender. Felizmente, a biblioteca Jackson oferece suporte a essa funcionalidade por meio de opções de configuração.
Aqui está um exemplo de como você pode fazer para o método build() de Jackson imprimir sua saída JSON com pretty-printing:
Passo 1: Configuração das dependências
Certifique-se de ter as dependências corretas configuradas em seu projeto. Você precisará das seguintes dependências do Jackson:
xml
Copy code
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.5</version>
</dependency>
Passo 2: Configuração do ObjectMapper
O ObjectMapper é a classe principal do Jackson que permite a conversão de objetos Java em JSON. Você pode configurar o ObjectMapper para produzir saída JSON formatada adicionando uma propriedade especial chamada SerializationFeature.INDENT_OUTPUT e definindo-a como true. Aqui está um exemplo:
java
Copy code
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
public class JacksonPrettyPrintExample {
public static void main(String[] args) throws JsonProcessingException {
// Criação de um objeto Java
Camisa camisa = new Camisa(“Primavera”, “Jackson”);
// Criação do ObjectMapper
ObjectMapper objectMapper = new ObjectMapper();
// Configuração para pretty-printing
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
// Conversão do objeto Java em JSON
String json = objectMapper.writeValueAsString(camisa);
// Impressão da saída JSON formatada
System.out.println(json);
}
}
Neste exemplo, a classe Camisa é um exemplo hipotético que representa uma camisa com atributos como “Primavera” e “Jackson”. O método writeValueAsString() é usado para converter o objeto camisa em uma string JSON. Ao habilitar a propriedade SerializationFeature.INDENT_OUTPUT, a saída JSON será formatada com indentação.
Ao executar o código acima, você obterá a saída JSON formatada como:
json
Copy code
{
“tipo”: “Primavera”,
“marca”: “Jackson”
}
Observe como a saída JSON agora possui indentação e espaços em branco, o que torna mais fácil de ler e entender.
Espero que este artigo tenha sido útil para você entender como fazer para o método build() de Jackson imprimir sua saída JSON formatada. Com a configuração correta do ObjectMapper e a ativação do pretty-printing, você pode melhorar a legibilidade da saída JSON gerada pelo método build().