有时,我们需要在单元测试中创建一些 thrift 对象。我们可以通过使用 Java 代码手动创建对象来做到这一点,例如:
MyObj myObj = new MyObj();
myObj.setName("???");
myObj.setAge(111);
但这并不方便。我正在寻找一种方法来创建具有一些可读文本的对象。
我们可以使用 将 thrift 对象转换为 JSON TSimpleJSONProtocol
,并获得可读性很强的 JSON 字符串,例如:
{ "name": "???", "age": 111 }
但问题是TSimpleJSONProtocol
只写,thrift 不能读回它来构造MyObj
.
虽然有一个TJSONProtocol
支持序列化和反序列化,但是生成的 JSON 是不可读的,它使用了非常简化的 JSON 格式,并且大部分字段名称都丢失了。不方便在测试中构造它。
有什么方法可以将 thrift 对象转换为可读字符串并且还可以将其转换回来?如果TSimpleJSONProtocol
支持转换回来,这正是我正在寻找的