2016-06-08 4 views
1

Java에서 Java로 JSON 객체를 비 직렬화하려고합니다. JSON 스트림의 각 팀을 팀 객체에 넣고 싶습니다.Java에서 Jackson으로 Json 객체를 비 직렬화

다음은 JSON이다 : 나는 POJO JsonRequestResult 만든

{ 
    "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 
       ] 
      ] 
     } 
    ] 
} 

나는 세 개의 매개 변수를 얻을 수 있습니다 : 자원 매개 변수와 결과 집합. 하지만 여기서부터는 resultSets에있는 데이터에 액세스하는 방법을 모르겠습니다. 내 수업 JsonRequestResult이야 여기

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()); 
} 

그리고 :

public class JsonRequestResult { 

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

} 
+0

나는 당신이 무엇을 요구하고 있는지 이해하지 못합니다. 받는 개체가 비어 있거나 null입니까? 다른 말로하면, 우리가 당신의 프로그램의 결과물을 보여 주면 어떨까요? 당신의 기대에서 벗어나는 곳을 말해 주시겠습니까? – GhostCat

+0

[Java 객체를 Jackson과 JSON으로 변환] 가능한 복제본 (0120-336-005) – Casey

+0

분명히 알지 못합니다. 내 Json 스트림에 해당하는 객체 Java를 작성하기 위해 작성해야하는 것. – StYoukii

답변

1

당신이 필요로하는 중첩 된 클래스 :이 어디로 가는지 당신이 볼

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

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

여기 내 main 방법입니까?