単体テストで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
、これはまさに私が探しているものです