Parsing JSON java

Ребят пытаюсь спарсить json

 {
    "tokenResult":
           {
              "accessToken":
                   "eyJhbGciOiJIsImh0dl0eS9jbGFpbXMvcm9sZSI6IlVzZXIiLCJuYmYiOjE2MDc2Nzk4OTjdLyujqG1EG74AI-8_pi9XsZRZqn30s_M620hVuEw",
              "refreshToken":
                      "eyJhbGciOiJIUzI1NiIL2NsYWltcy9uYdC5jb20vd3MvMjAwOC8wNi9pZGVudGl02UiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjUwMDAvIn0.NfvSDKgmE7ukmp4r3if-mdZ0D2Rch2swUdtYsZ_Lz50",
              "expires":"2020-12-11T10:44:56.2868493Z",
              "expiresRefresh":"2020-12-11T14:44:56.2868493Z",
              "role": "User",
              "userId":"c681"
           },
    "isTwoFactorAuth":false
 }


@Getter
public class TokenResult {

    private String accessToken;
    private String refreshToken;
    private String expires;
    private String expiresRefresh;
    private String role;
    private String userId;

}



@Getter
public class ResultParseJSON {

    private TokenResult tokenResultList;
    private boolean isTwoFactorAuth;

    @Override
    public String toString() {
        return "ResultParseJSON{" +
                "tokenResultList=" + tokenResultList +
                ", isTwoFactorAuth=" + isTwoFactorAuth +
                '}';
    }
}




    Gson gson = new GsonBuilder().create();
    ResultParseJSON data = gson.fromJson(line, ResultParseJSON.class);

    System.out.println(data.isTwoFactorAuth());

    TokenResult tokenResult = data.getTokenResultList();
    System.out.println(tokenResult.getAccessToken());

Как итог в tokenResult приходит null. по этому полю отрабатывает норм isTwoFactorAuth. Ребят где ошибся подскажите ((


Ответы (1 шт):

Автор решения: Aziz Umarov

Так поробуйте как правильно заметил @libalex

{
    "tokenResult":
           {
              "accessToken":
                   "eyJhbGciOiJIsImh0dl0eS9jbGFpbXMvcm9sZSI6IlVzZXIiLCJuYmYiOjE2MDc2Nzk4OTjdLyujqG1EG74AI-8_pi9XsZRZqn30s_M620hVuEw",
              "refreshToken":
                      "eyJhbGciOiJIUzI1NiIL2NsYWltcy9uYdC5jb20vd3MvMjAwOC8wNi9pZGVudGl02UiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjUwMDAvIn0.NfvSDKgmE7ukmp4r3if-mdZ0D2Rch2swUdtYsZ_Lz50",
              "expires":"2020-12-11T10:44:56.2868493Z",
              "expiresRefresh":"2020-12-11T14:44:56.2868493Z",
              "role": "User",
              "userId":"c681"
           },
    "isTwoFactorAuth":false
 }


@Getter
public class TokenResult {

    private String accessToken;
    private String refreshToken;
    private String expires;
    private String expiresRefresh;
    private String role;
    private String userId;

}



@Getter
public class ResultParseJSON {

    private TokenResult tokenResult;
    private boolean isTwoFactorAuth;

    @Override
    public String toString() {
        return "ResultParseJSON{" +
                "tokenResult=" + tokenResult +
                ", isTwoFactorAuth=" + isTwoFactorAuth +
                '}';
    }
}




    Gson gson = new GsonBuilder().create();
    ResultParseJSON data = gson.fromJson(line, ResultParseJSON.class);

    System.out.println(data.isTwoFactorAuth());

    TokenResult tokenResult = data.getTokenResult();
    System.out.println(tokenResult.getAccessToken());
→ Ссылка