Grant Sherrick created THRIFT-5474: -------------------------------------- Summary: TSimpleJsonProtocol serialization on string with inner quotes does not produce valid JSON. Key: THRIFT-5474 URL: https://issues.apache.org/jira/browse/THRIFT-5474 Project: Thrift Issue Type: Bug Components: Java - Library Reporter: Grant Sherrick
There is an issue in the generation of JSON from the TSimpleJSONProtocol, where if there are quotes inside of a string, then those quotes will not be serialized correctly. These quotes need one more layer of escaping to produce valid JSON. For instance, if you have the Thrift structure defined by: {code:java} struct MyThriftStruct { 1: required string my_string } {code} And, I then define an object of that type in Java: {code:java} MyThriftStruct t = new MyThriftStruct(); t.my_string = "I said: \"this is a fairly nice string.\""{code} And, if I then serialize this using the TSimpleJsonProtocol in this manner: {code:java} TSerializer thriftJsonSer = new TSerializer(new TNotSoSimpleJSONProtocol.Factory()); String myThriftStructJsonString = return thriftJsonSer.toString(t); {code} This will result in JSON that cannot be deserialized because the quotes inside of the string were not escaped properly. -- This message was sent by Atlassian Jira (v8.3.4#803005)