【发布时间】:2015-10-23 13:47:49
【问题描述】:
有时,我们需要在单元测试中创建一些 thrift 对象。我们可以通过使用 Java 代码手动创建对象来做到这一点,例如:
MyObj myObj = new MyObj();
myObj.setName("???");
myObj.setAge(111);
但这并不方便。我正在寻找一种方法来创建带有一些可读文本的对象。
我们可以用TSimpleJSONProtocol将thrift对象转换成JSON,得到可读性很强的JSON字符串,比如:
{ "name": "???", "age": 111 }
但问题是TSimpleJSONProtocol 是只写的,thrift 无法读回它来构造MyObj 的实例。
虽然有TJSONProtocol支持序列化和反序列化,但是生成的JSON是不可读的,它使用了非常简化的JSON格式,大部分字段名都不见了。不方便在测试中构造它。
有什么方法可以将 thrift 对象转换为可读字符串,并且还可以将其转换回来?如果TSimpleJSONProtocol 支持转换回来,这正是我正在寻找的
【问题讨论】:
标签: java json thrift thrift-protocol