Here is an example line:
{ "code":200, "err":"", "timestamp":1459855918, "data":{ "city":[ { "cityid":3877, "cityname":"", "districts":[ {"id":1245, "name":"", "sort":0}, {"id":1257,"name":"","sort":0}, {"id":1461,"name":"","sort":0}, {"id":1338,"name":"","sort":0} ] }, { "cityid":2263, "cityname":"", "districts":[ {"id":1223,"name":"","sort":0}, {"id":1203,"name":"","sort":8}, {"id":1048,"name":"","sort":8}, {"id":1205,"name":"","sort":999} ] } ] } } POJO class:
public class ObjectGetDictionary { private int code; private String err; private long timestamp; private List<city> data; //геттеры + сеттеры class city { private int cityid; private String cityname; private List<district> districts; //геттеры + сеттеры class district { private int id; private String name; private int sort; //геттеры + сеттеры district(){}; } city(){}; } ObjectGetDictionary(){}; } ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); ObjectGetDictionary res = mapper.readValue(content, ObjectGetDictionary.class); How are such complex objects usually converted?