Во-первых, извините за плохой английский.Неверный конвертировать объект из JSON
Во-вторых, моя проблема.
Я пытаюсь преобразовать JSON и обратно эту структуру:
class Revision{
private String auth;
private HashMap<String, List<HashMap<String, Object>>> rev;
public String getAuth(){
return auth;
}
public HashMap<String, List<HashMap<String, Object>>> getRev(){
return rev;
}
public void setAuth(String auth){
this.auth = auth;
}
public void setRev(HashMap<String, List<HashMap<String, Object>>> rev){
this.rev = (HashMap<String, List<HashMap<String, Object>>>) rev.clone();
}
public String toString(){
return "Auth: " + auth + ", rev: " + rev;
}
}
Я делаю это с этим кодом:
public static void main (String[] argc){
Gson gson = new Gson();
Revision revision = new Revision();
HashMap<String, List<HashMap<String, Object>>> HM = new HashMap<String, List<HashMap<String, Object>>>();
List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> HMin = new HashMap<String, Object>();
HMin.put("id", 12);
HMin.put("type", "toster");
list.add(HMin);
HM.put("mark", list);
revision.setRev(HM);
revision.setAuth("ololo");
String json = gson.toJson(revision);
Revision test = new Gson().fromJson(json, Revision.class);
System.out.println(json);
System.out.println(revision);
System.out.println(test);
}
В конце концов я получаю этот результат:
{"auth":"ololo","rev":{"mark":[{"id":12,"type":"toster"}]}}
Auth: ololo, rev: {mark=[{id=12, type=toster}]}
Auth: ololo, rev: {mark=[{[email protected], [email protected]}]}
Как вы можете см. после преобразования, неверные параметры типа объекта.
Прошу вас, скажите, как я могу исправить эту проблему?
Спасибо заранее!
проблема toString() проблема? – vstoyanov
Я так не думаю. Я пытаюсь сделать это: HashMap>> HMout = new HashMap >>(); HMout = (HashMap >>) test.getRev(). Clone(); System.out.println (((HMout.get ("метка")) получаем (0)) получить ("ID") ToString()...); И я получаю **[email protected]** как результат = ( –
JackTheCat