Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.9.2
-
None
Description
THRIFT-2535 introduced the fieldNamesAsString argument on TJSONProtocol.Factory
When you use it to serialize messages to json , the resulting output cannot be deserialized back to an object when using the same protocolfactory
Example :
TJSONProtocol.Factory factory = new TJSONProtocol.Factory(true); TSerializer tSerializer = new TSerializer(factory); foo foo1 = new Foo(); String value = tSerializer.toString(foo1, "utf-8"); TDeserializer tDeserializer = new TDeserializer(factory); foo foo2 = new foo(); tDeserializer.fromString(foo2, value);
Will give you Exception in thread "main" org.apache.thrift.protocol.TProtocolException: Unexpected character: