2016-05-13 11 views
0

次のJSONのPOJOを作成しようとしています。入れ子になったJSONのPOJOを作成する

{ 
    "key1":"value1", 
    "key2":"value2", 
    "hashmap": 
    { 
    "1":"val" 
    "2":"val" 
    ... 
    "n":"val" 
    } 
} 

は今、私が試したPOJOには問題はハッシュマップがシリアル化された取得されていないということです

public class MyPOJO{ 
    @SerializedName{"key1"} 
    @Expose 
    private String key1; 

    @SerializedName{"key2"} 
    @Expose 
    private String key2; 

    @SerializedName{"hashmap"} 
    @Expose 
    private HashMap<String,String> hMap; 

} 

ました。クラスが直列化されるときは無視されます。

これは私がRetrofitでクラスを使用する方法です。

@POST("/endpoint/") 
void foo(@Body MyPojo, Callback<Response> callback); 

私が出会った提案の1つは、ハッシュマップの代わりに内部クラスを使用することです。しかし、私のキーは動的です、私は各キーの変数を定義することはできません。ハッシュマップをシリアル化する必要があります。

答えて

0

http://www.jsonschema2pojo.org/たぶん、あなたは、レトロフィットコンバータを見てとマップをサポートコンバーターを使用する必要があり、JSON

+0

私のハッシュマップキーは動作しません。未修理。参考までに、私はjsonschema2pojoを使用してPOJOを作成します。 – Codevalley

0

からPOJOを生成するには、このウェブサイトを使用しています。

またはカスタムコンバータを使用してください。

関連する問題