¿Es una forma de usar una mezcla de anotación y módulo simple para la deserialización? -- java campo con json campo con annotations campo con deserialization camp Relacionados El problema

Is it a way to use a mix of Annotation and Simple module for deserialization?


0
vote

problema

Español

Necesito deserializar un archivo JSON, con 3 propiedades Différs Rents.

Editar: O, ¿cómo podría deserializar index State Region 0 NY NYC 1 NY Long_Island 2 IL Chicago 0 en AudiencendeSerialization, (tamaño desconocido)

Audiance Classe:

  index   State   Region 0        NY      NYC 1        NY      Long_Island 2        IL      Chicago 111  

archivo json

  index   State   Region 0        NY      NYC 1        NY      Long_Island 2        IL      Chicago 2  

mandatoriadeserialize

  index   State   Region 0        NY      NYC 1        NY      Long_Island 2        IL      Chicago 3  

opcionaldeserialize

  index   State   Region 0        NY      NYC 1        NY      Long_Island 2        IL      Chicago 4  

AudiencieraSerialización

  index   State   Region 0        NY      NYC 1        NY      Long_Island 2        IL      Chicago 5  

principal

  index   State   Region 0        NY      NYC 1        NY      Long_Island 2        IL      Chicago 6  

Como podemos ver, uso dos clases de deserialización con anotación. y una classe con módulo sencillo. Pero solo el trabajo simple del módulo y mi anotación no funciona.

¿Es una forma de usar tanto al mismo tiempo?

Original en ingles

I need to deserialize a json file, with 3 diffxc3xa9rents properties.

Edit : Or, how could i deserialize List<User> optional and mandatory in AudienceDeserialization, ( unknown size )

Audiance Classe:

public class Audience {     Entity entity;     private Integer stageBor;     @JsonDeserialize(using = MandatoryDeserialize.class)     private List<User> mandatory;     @JsonDeserialize(using = OptionalDeserialize.class)     private List<User> optional; // .... 

Json file

[   {     "entity": "BFA",     "stageBor": "1",     "mandatory": [         { "email": "11test@test.com"},         { "email": "11test@test.com"}     ],     "optional": [         { "email": "12test@test.com"},         { "email": "12test@test.com"},         { "email": "12test@test.com"},         { "email": "12test@test.com"}     ]   },     {     "entity": "EX",     "stageBor": "2",     "mandatory": [          { "email": "21test@test.com"},         { "email": "21test@test.com"},         { "email": "21test@test.com"}     ],     "optional": [         { "email": "22test@test.com"},         { "email": "22test@test.com"},         { "email": "22test@test.com"}     ]    },   {     "entity": "IT",     "stageBor": "3",     "mandatory": [          { "email": "31test@test.com"},         { "email": "31test@test.com"},         { "email": "31test@test.com"}     ],     "optional": [          { "email": "33test@test.com"},         { "email": "33test@test.com"},         { "email": "33test@test.com"}     ]   } ] 

MandatoryDeserialize

public class MandatoryDeserialize extends JsonDeserializer<List<User>> {      @Override     public List<User> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, IOException {         InnerItems innerItems = jp.readValueAs(InnerItems.class);          return innerItems. mandatory;     }      private static class InnerItems {         public List<User>  mandatory;     } }  

OptionalDeserialize

public class OptionalDeserialize extends JsonDeserializer<List<User>> {     @Override     public List<User> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, IOException {         InnerItems innerItems = jp.readValueAs(InnerItems.class);          return innerItems.optional;     }      private static class InnerItems {         public List<User> optional;     } 

AudienceDeserialization

public class AudienceDeserialization extends StdDeserializer<Audience> {      public AudienceDeserialization() {         this(null);     }     private AudienceDeserialization(Class<?> vc)     {         super(vc);     }      public Audience deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {         JsonNode node = jp.getCodec().readTree(jp);         Entity entity = new Entity();         String nameEntity = node.get("entity").asText();         entity = entity.searchEntity(ListEntities.entities,nameEntity);         Integer stageBor =  node.get("stageBor").asInt();        // String email = node.get("email").asText();          return new Audience(entity,stageBor, null, null);   

MAIN

   public static void main(String[] args) throws FileNotFoundException {         com.fasterxml.jackson.databind.ObjectMapper mapper = new ObjectMapper();         mapper.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT);         SimpleModule module = new SimpleModule();         module.addDeserializer(Audience.class, new AudienceDeserialization());         mapper.registerModule(module);          TypeReference<List<Audience>> typeReferenceAudience = new TypeReference<>() {};         FileInputStream inputStreamAudience = new FileInputStream("C:\\Users\\oraph\\Desktop\\audience.json");         try {             List<Audience> audiences = mapper.readValue(inputStreamAudience, typeReferenceAudience);              System.out.println("Users Saved!");         } catch (IOException e) {             System.out.println("Unable to save users: " + e.getMessage());         }     } 

As we can see, i uses two classes of deserialization with annotation and one classe with simple module. But only simple Module work and my annotation doesnt work.

Is it a way to use both in same time ?

           
         
         

Lista de respuestas


Relacionados problema

9  JSON.NET suelto vs estricto tipo deserialización  ( Json net loose vs strict type deserialization ) 
En el proyecto en el que estoy trabajando, comenzamos a usar la biblioteca JSON.NET. Sin embargo, acabo de descubrir que JSON.NET está "suelto" en el tipo d...

0  Omitir elementos de envoltura cuando desercializando XML con C # / .NET  ( Skip wrapping elements when deserializing xml with c sharp net ) 
Estoy tratando de deserializar los datos de XML entrantes con C # /. NET 3.5 Uso de una jerarquía de clase que comienza con una clase etiquetada como XmlRoot...

1  Guardar datos JSON en un objeto personalizado C #  ( Saving json data into a c sharp custom object ) 
He estado jugando con esto durante los últimos días y espero que alguien pueda arrojar algo de luz sobre lo que podría ser el problema. Tengo este objeto pe...

4  Desernializar iCal utilizando DDay.ical, no se puede encontrar las propiedades  ( Deserialize ical using dday ical cant find the properties ) 
Estoy tratando de deserializar un archivo iCal y luego mapear la colección a un POCO personalizado. El problema es que no estoy seguro de dónde se almacenan l...

1  Excepción deserializando incluso objetos simples [java]  ( Exception deserializing even simple objects java ) 
Tengo esta pieza relativamente simple del código Java (para Android) que me he quitado esta pregunta. int number = 42; ByteArrayOutputStream bos = new Byte...

0  Hazelcast Diferente (DE) Serialización para clientes y MapStore  ( Hazelcast different deserialization for clients and mapstore ) 
Estoy ejecutando miembros de HAZELCAST y clientes con el siguiente contexto: Como se muestra en el diagrama anterior: Quiero que los clientes controlen...

1  Desernializando JSON colección de lista fuertemente mecanografiada en Windows Phone 7  ( Deserializing json strongly typed list collection on windows phone 7 ) 
Voy a empezar mostrando el JSON, me gustaría deserializar: {"FleetsCollection":[{"FleetId":2,"Nickname":"2007 Ninja ZX6R","PictureFileName":"jvmlfdaq.rkr2....

0  Serializar la forma compleja a JSON y deserializarlo en la acción de MVC  ( Serialize complex form to json and deserialize it in mvc action ) 
Estoy tratando de serializar un formulario a JSON y publicarlo con $ .post a la acción de MVC y deserializarlo para modelar. Trabaja con formas simples (forma...

0  C # PROTOBUF-NET: ¿Cómo desialización consecutivamente de un flujo de red?  ( C sharp protobuf net how do i deserialize consecutively from a network stream ) 
Estoy (con gratitud) usando Biblioteca de tampones de protocos de Protobuf-Net Protocol de Marc Gravell . Desafortunadamente, estoy siendo uninteligente y te...

8  C # deserializar XML a objeto  ( C sharp deserialize xml to object ) 
Tener problemas deserializando un poco de XML en un objeto en C #. El error que recibo es ... USER_TABLES111 El XSD que recibí para generar mi clase e...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos