如何创建一个具有动态密钥的pojoclass

时间:2015-11-17 06:59:52

标签: android json gson

如何从相同网址的以下回复中创建一个pojo类。

回应1: {            “info”:{                “价格”:1,                “map”:{                    “1”:1,                    “2”:2,                    “3”:1,                    “5”:0.5,                    “6”:3,                    “7”:5                },                “价值”:0    } }

回应2: {            “info”:{                “价格”:1,                “map”:{                    “1”:1,                    “2”:6,                    “3”:4,                 },                “价值”:1    } }

这里“map”Json对象内的键是动态的。请帮我创建一个带有动态键的pojoclass(在map中,例如:1,2,3 ......)。

4 个答案:

答案 0 :(得分:2)

最后通过

得到了答案
false

在POJO课程中。

我通过

调用了Activity中的POJO
private Map<String, Float> map;

public Map<String, Float> getMap() {
return map;
}

答案 1 :(得分:0)

如果您可以修改您收到的回复

{ "info": { "price": 1, "map": 
[ {"key":"1","value": "1"},{"key":"2","value":2},...], "value": 0 } }

然后你可以使用下面的POJO

来解决它
public class Info {
  @SerializedName("price")
  private String price;

  @SerializedName("map")
  private ArrayList<MapEntry> map;

  @SerializedName("value")
  private String value; 

}

public class MapEntry{
  @SerializedName("key")
  private String key;

  @SerializedName("value")
  private String value;

}

答案 2 :(得分:0)

只需使用Gson将其解析为地图。

Gson gson = new Gson();
Type type = new TypeToken<Map<String, int>>(){}.getType();
Map<String, String> myMap = gson.fromJson(response, type);

答案 3 :(得分:0)