Assuming you're using the definitions in "tutorial.thrift":
You may not need all of these.
import org.apache.thrift.TBase; import org.apache.thrift.TException; import org.apache.thrift.TSerializer; import org.apache.thrift.TDeserializer; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.protocol.TProtocolFactory; import org.apache.thrift.protocol.TSimpleJSONProtocol; import org.apache.thrift.transport.TIOStreamTransport; import org.apache.thrift.transport.TTransport; import tutorial.Work; import tutorial.Operation; import tutorial.Constants; |
Work work = new Work(); work.num1 = 7; work.num2 = 9; work.op = Operation.ADD; |
Or, if you used the "beans" option to generate ThriftJavaBeans code:
Work work = new Work(); work.setNum1(7); work.setNum2(9); work.setOp(Operation.ADD); |
TSerializer serializer = new TSerializer(new TBinaryProtocol.Factory()); byte[] bytes = serializer.serialize(work); TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory()); Work moreWork = new Work(); deserializer.deserialize(moreWork, bytes); |
TSerializer serializer = new TSerializer(new TSimpleJSONProtocol.Factory()); String json = serializer.toString(work); |
The "Simple" JSON protocol produces output suitable for AJAX or scripting languages. It does not preserve Thrift's field tags and cannot be read back in by Thrift. Using the object created above, the "Simple" JSON string is:
{"num1":7,"num2":9,"op":1} |