我有一个简单的JSON:
{"定位":[{" app.home":"首页"" app.menu":"菜单"}]}
我创建了它的Java表示:
public class Config {
@Key("localization")
private Map<String, String> mLocalization = new HashMap<String, String>();
public Map<String, String> getLocalization() {
return mLocalization;
}
public void setLocalization(Map<String, String> mLocalization) {
this.mLocalization = mLocalization;
}
}
@Key是因为我在Robospice中使用它。 当我试图解析它时,我收到一个例外:
12-11 15:27:24.104:W / System.err(8133):引起:java.lang.IllegalArgumentException:键本地化,字段私有java.util.Map com.example.gson.Config.mLocalization 12-11 15:27:24.104:W / System.err(8133):引起:java.lang.IllegalArgumentException:期望的集合或数组类型但是得到了java.util.Map
那我怎么解析呢?我不想将其解析为数组,然后自己填写Map
。
答案 0 :(得分:0)
那是因为你的JSON而不是map中有一系列地图,应该是:
{"localization": {"app.home":"Home","app.menu":"Menu"}}
或者您可以将您的密钥声明为地图数组:
private Map<String, String>[] mLocalization;