use TBinaryProtocol as input, TJSONProtocol as output