Thrift no puede deserializar de json a objeto java
Generé un objeto java a partir del siguiente objeto de ahorro:
struct Account {
1: required string accountType,
2: bool accountActive,
}
Escribí un código java tratando de serializar el objeto java en una cadena json y luego deserializar la cadena json de nuevo al objeto java. Puedo serializar con éxito pero no pude deserializar.
TSerializer serializer = new TSerializer(new TSimpleJSONProtocol.Factory());
TDeserializer deserializer = new TDeserializer(new TSimpleJSONProtocol.Factory());
Account a1 = new Account();
a1.setAccountType("P");
a1.setAccountActive(true);
String json = serializer.toString(a1);
System.out.println(json);
Account a2 = new Account();
deserializer.deserialize(a2, json, "UTF-8");
System.out.println(a2);
System.out.println(a2.getAccountType());
Sigue lanzando la siguiente excepción:
Exception in thread "main" org.apache.thrift.protocol.TProtocolException: Required field 'accountType' was not present! Struct: Account(accountType:null, accountActive:false)
¿Alguien puede ayudarme a descubrir cuál es el problema? ¡Gracias por adelantado!