visão geral
Este tutorial rápido ilustrará como usar Jackson 2 para deserializar JSON usando um Deserializador personalizado.
Se você quiser cavar mais fundo e aprender outras coisas legais que você pode fazer com o Jackson 2 – head sobre o tutorial principal Jackson.,
bibliografia:
Introdução ao Jackson ObjectMapper
Jackson – Decide quais campos são serializados/Desertificados
Jackson – Custom Serializer
E, finalmente, vamos desorganizar esse JSON para Java Entidades:
Item itemWithOwner = new ObjectMapper().readValue(json, Item.class);
Personalizado Desserializador no ObjectMapper
No exemplo anterior, a representação JSON de correspondência java entidades perfeitamente – em seguida, vamos simplificar o JSON:
{ "id": 1, "itemName": "theItem", "createdBy": 2}
Quando unmarshalling este o exato mesmo entidades – por padrão, este será, naturalmente, falhar:
Nós vamos resolver isso por fazer a nossa própria desserialização com um personalizado Desserializador:
Como você pode ver, deserializador está trabalhando com o padrão Jackson representação JSON – o JsonNode., Uma vez que a entrada JSON é representada como um JsonNode, podemos agora extrair a informação relevante a partir dele e construir a nossa própria entidade Item.,
Basta colocar, precisamos registrar esse costume desserializador e simplesmente anular a serialização JSON normalmente:
Personalizado Desserializador na Classe
como Alternativa, também pode se registrar deserializador diretamente na classe de:
@JsonDeserialize(using = ItemDeserializer.class)public class Item { ...}
Com o desserializador definido no nível de classe, não há necessidade de registrá-lo na ObjectMapper – um padrão mapper irá funcionar bem:
Item itemWithOwner = new ObjectMapper().readValue(json, Item.class);
Este tipo de por classe de configuração é muito útil em situações em que não podemos ter acesso direto às matérias ObjectMapper para configurar.,
Conclusion
this article shows how to leverage Jackson 2 to read non-standard JSON input – and how to mape that input to any java entity graph with full control over the mapping.
a implementação de todos estes exemplos e excertos de código podem ser encontrados em mais de GitHub-é um projeto baseado em Maven, por isso deve ser fácil de importar e executar como ele é.
Começar com Mola 5 e Primavera de Inicialização 2, através do Aprender a Primavera curso:
>> confira O CURSO
Powered by WordPress & Theme by Anders Norén
Deixe uma resposta