2016-04-15 4 views
1

これが私の状況です:私は、このオブジェクトからJSONを生成するときJSON HashMap <String、Object>をどのように逆シリアル化するのですか?

private Map<String, Object> data = new HashMap<>(); 

public void setName(String x) {put("name", x);} 
public String getName() {return (String)get("name");} 

public void setAge(Integer x) {put("age", x);} 
public Integer getAge() {return (Integer)get("age");} 

public void setUUID(UUID x) {put("uuid", x);} 
public UUID getUUID() {return (UUID)get("uuid");} 

は今、私が手{「データを」:{「名前」:...}} 私は、「データ」を望んでいません。 {}部分。この問題を解決する方法

[EDIT]このクラスは春でJSONとしてエクスポートされた場合のフォーマットは私がしたい正確に何です。

+1

はどのようにJSONオブジェクトを生成していますか?通常、データ部分はありません。 – Jason

+0

新しいGson()。toJson(myClass); – Dai

+0

データは「Person」クラスに属していますか? –

答えて

0

これは私のために動作します。

ObjectMapper mapper = new ObjectMapper(); 
    String json = mapper.writeValueAsString(myClass); 
0

あなたの全体のクラスは、マップ内のようです、単にあなたのクラスに地図のgetterメソッドを追加し、代わりにクラス自体をシリアル化するので、同じようにそれを行う:サイドノートでは

gson.toJson(foo.getData()) 

、ゲッターやセッターが地図上で行動するのはかなり厄介だと言わなければならない。

関連する問題