GSON

2016-08-17 9 views
0
Javaで

私の実体を持つオブジェクトを平らにわずかすなわち、私は@Embeddable Data dataに、いくつかの退屈なものを動かしGSON

{ 
    id: 123, 
    name: "Some Name", 
    someList: [1, 2, 3], 
    data: { 
     someDetail: "Whatever", 
     anotherDetail: "And so on" 
    } 
} 

のように見えます。これは、Javaでの使用のための罰金ですが、私はGSON経由とJavascriptで(のDTOなし)エンティティを転送するよ、私は強くのみ希望変更はdataの内容を扱っている

{ 
    id: 123, 
    name: "Some Name", 
    someList: [1, 2, 3], 
    someDetail: "Whatever", 
    anotherDetail: "And so on" 
} 

よりフラットな構造を好みますあたかも主要オブジェクトにあるかのように、他のパーツはそのままの状態を保つ必要があります。デシリアライズも必要です。

答えて

0

入力クラスから必要なデータポイントを単一のレベルに変換する単純なデータクラスを作成できます。 その後、そのフラットクラスをjsonとしてエクスポートできます。

class objectFlat { 
    int id; 
    String name; 
    List<Integer> someList; 
    String someDetail; 
    public objectFlat(ObjectInput input) { 
     this.id = input.id; 
     this.name = input.name; 
     this.someList = input.someList; 
     this.someDetail = input.getData().someDetail; 
    } 

}