2016-06-08 2 views
1

Я пытаюсь десериализовать объект JSON с помощью Jackson в Java. Я хочу поместить каждую команду моего потока JSON в объект команды.Deserialize Json Object с Jackson в Java

Вот JSON:

{ 
    "resource": "commonteamyears", 
    "parameters": { 
     "LeagueID": "00" 
    }, 
    "resultSets": [ 
     { 
      "name": "TeamYears", 
      "headers": [ 
       "LEAGUE_ID", 
       "TEAM_ID", 
       "MIN_YEAR", 
       "MAX_YEAR", 
       "ABBREVIATION" 
      ], 
      "rowSet": [ 
       [ 
        "00", 
        1610612737, 
        "1949", 
        "2015", 
        "ATL" 
       ], 
       [ 
        "00", 
        1610612738, 
        "1946", 
        "2015", 
        "BOS" 
       ], 
       [ 
        "00", 
        1610612739, 
        "1970", 
        "2015", 
        "CLE" 
       ], 
       [ 
        "00", 
        1610612740, 
        "2002", 
        "2015", 
        "NOP" 
       ], 
       [ 
        "00", 
        1610612741, 
        "1966", 
        "2015", 
        "CHI" 
       ], 
       [ 
        "00", 
        1610612742, 
        "1980", 
        "2015", 
        "DAL" 
       ], 
       [ 
        "00", 
        1610612743, 
        "1976", 
        "2015", 
        "DEN" 
       ], 
       [ 
        "00", 
        1610612744, 
        "1946", 
        "2015", 
        "GSW" 
       ], 
       [ 
        "00", 
        1610612745, 
        "1967", 
        "2015", 
        "HOU" 
       ], 
       [ 
        "00", 
        1610612746, 
        "1970", 
        "2015", 
        "LAC" 
       ], 
       [ 
        "00", 
        1610612747, 
        "1948", 
        "2015", 
        "LAL" 
       ], 
       [ 
        "00", 
        1610612748, 
        "1988", 
        "2015", 
        "MIA" 
       ], 
       [ 
        "00", 
        1610612749, 
        "1968", 
        "2015", 
        "MIL" 
       ], 
       [ 
        "00", 
        1610612750, 
        "1989", 
        "2015", 
        "MIN" 
       ], 
       [ 
        "00", 
        1610612751, 
        "1976", 
        "2015", 
        "BKN" 
       ], 
       [ 
        "00", 
        1610612752, 
        "1946", 
        "2015", 
        "NYK" 
       ], 
       [ 
        "00", 
        1610612753, 
        "1989", 
        "2015", 
        "ORL" 
       ], 
       [ 
        "00", 
        1610612754, 
        "1976", 
        "2015", 
        "IND" 
       ], 
       [ 
        "00", 
        1610612755, 
        "1949", 
        "2015", 
        "PHI" 
       ], 
       [ 
        "00", 
        1610612756, 
        "1968", 
        "2015", 
        "PHX" 
       ], 
       [ 
        "00", 
        1610612757, 
        "1970", 
        "2015", 
        "POR" 
       ], 
       [ 
        "00", 
        1610612758, 
        "1948", 
        "2015", 
        "SAC" 
       ], 
       [ 
        "00", 
        1610612759, 
        "1976", 
        "2015", 
        "SAS" 
       ], 
       [ 
        "00", 
        1610612760, 
        "1967", 
        "2015", 
        "OKC" 
       ], 
       [ 
        "00", 
        1610612761, 
        "1995", 
        "2015", 
        "TOR" 
       ], 
       [ 
        "00", 
        1610612763, 
        "1995", 
        "2015", 
        "MEM" 
       ], 
       [ 
        "00", 
        1610612764, 
        "1961", 
        "2015", 
        "WAS" 
       ], 
       [ 
        "00", 
        1610612765, 
        "1948", 
        "2015", 
        "DET" 
       ], 
       [ 
        "00", 
        1610612766, 
        "1988", 
        "2015", 
        "CHA" 
       ], 
       [ 
        "00", 
        1610612762, 
        "1974", 
        "2015", 
        "UTA" 
       ], 
       [ 
        "00", 
        1610610029, 
        "1948", 
        "1948", 
        null 
       ], 
       [ 
        "00", 
        1610610025, 
        "1946", 
        "1949", 
        null 
       ], 
       [ 
        "00", 
        1610610034, 
        "1946", 
        "1949", 
        null 
       ], 
       [ 
        "00", 
        1610610036, 
        "1946", 
        "1950", 
        null 
       ], 
       [ 
        "00", 
        1610610024, 
        "1947", 
        "1954", 
        null 
       ], 
       [ 
        "00", 
        1610610027, 
        "1949", 
        "1949", 
        null 
       ], 
       [ 
        "00", 
        1610610030, 
        "1949", 
        "1952", 
        null 
       ], 
       [ 
        "00", 
        1610610033, 
        "1949", 
        "1949", 
        null 
       ], 
       [ 
        "00", 
        1610610037, 
        "1949", 
        "1949", 
        null 
       ], 
       [ 
        "00", 
        1610610031, 
        "1946", 
        "1946", 
        null 
       ], 
       [ 
        "00", 
        1610610023, 
        "1949", 
        "1949", 
        null 
       ], 
       [ 
        "00", 
        1610610028, 
        "1946", 
        "1946", 
        null 
       ], 
       [ 
        "00", 
        1610610026, 
        "1946", 
        "1946", 
        null 
       ], 
       [ 
        "00", 
        1610610032, 
        "1946", 
        "1948", 
        null 
       ], 
       [ 
        "00", 
        1610610035, 
        "1946", 
        "1946", 
        null 
       ] 
      ] 
     } 
    ] 
} 

Я создал POJO JsonRequestResult и я могу получить три параметра: ресурс, параметры и результирующих. Но отсюда я не знаю, как получить доступ к данным в resultSets.

Вот мой main метод:

public static void main(String[] args) throws JsonParseException, JsonMappingException, MalformedURLException, IOException { 
    ObjectMapper objectMapper = new ObjectMapper(); 

    JsonRequestResult jrr = objectMapper.readValue(new URL("http://stats.nba.com/stats/commonteamyears/?LeagueID=00"), JsonRequestResult.class); 

    System.out.println(jrr.getResource()); 
    System.out.println(jrr.getParameters()); 
    System.out.println(jrr.getResultSets()); 
} 

А вот мой класс JsonRequestResult:

public class JsonRequestResult { 

    private String resource; 
    private Object parameters; 
    private Object[] resultSets; 

} 
+0

Я не понимаю, о чем вы просите. Являются ли объекты пустыми/пустыми? Другими словами: почему бы вам не показать нам свою программу? и расскажите, где это отклоняется от ваших ожиданий? – GhostCat

+0

Возможный дубликат [Преобразование объектов Java в JSON с помощью Jackson] (http://stackoverflow.com/questions/15786129/converting-java-objects-to-json-with-jackson) – Casey

+0

Чтобы быть ясным, я не знаю что я должен написать, чтобы создать объект Java, соответствующий потоку Json. – StYoukii

ответ

1

Вы должны вложенные классы:

public class JsonRequestResult { 
    private String resource; 
    private Object parameters; 
    private ResultSetEntry[] resultSets; 
} 

public class ResultSetEntry { 
    private String name; 
    ... 
} 

вы видите, где это идет?

Смежные вопросы