i`m trying convert next json object:
{ accountname:"temnoi", parts:{ part-0:{ name:"home", uptimeseconds:"2143943", }, part-1:{ name:"work", uptimeseconds:"2276958", } } }
the problem parts isn't array don't have idea how obtain them list or other data structure.
for have such dto class
public class info { private string accountname; private list<parts> parts; }
but program crash there no array. use retrofit2 gsonconverter.
can suggest solve problem?
unfortunately, don't have lot of time, came next solution.
i replace retrofit2 okhttp , gson built-in json parser.
after response okhttpclient manually convert json object.
jsonobject root = new jsonobject(responsefromserver); jsonobject parts = root.getjsonobject("parts"); iterator<string> jsonpartsiterator = parts.keys(); list<part> partslist = new arraylist<>(); while (jsonpartsiterator.hasnext()) { try{ string key = jsonrootiterator.next(); partslist.add(convertpartjsontoobject(computers.getjsonobject(key))); } catch(exception e){ // in case if there number '0' return empty list } }
here part convertpartjsontoobject(jsonobject object) method convert part-0, part-1... object need.
Comments
Post a Comment