GSON Array остается пустым - PullRequest
       2

GSON Array остается пустым

0 голосов
/ 19 октября 2018

У меня есть этот код

  String link;
    link = "https://na1.api.riotgames.com/lol/league/v3/positions/by-summoner/"+sumID+"?api_key=RGAPI-a7247558-20d7-4b0a-9009-6e3db2986a44";
    URL url = new URL(link);
    BufferedReader in = new BufferedReader(
            new InputStreamReader(url.openStream()));

    String inputLine;
    String inputLine2;
    inputLine = in.readLine();

    in.close();

    Gson code = new Gson();

    sumStatsArray[] rank = code.fromJson(inputLine,sumStatsArray[].class);
   String account = code.toJson(rank);
    //String account = code.toJson(rank.sumStats.get(0).tier) + " " + code.toJson(rank.sumStats.get(0).rank);
    System.out.println(account);
    System.out.println(link);
    System.out.println(inputLine);

Учетная запись печати приводит к следующему: [{}]

она просто остается пустой, строка ввода содержит весь json, но по некоторым причинам не будет работать.

класс sumStatsArray выглядит следующим образом

import java.util.ArrayList;

public class sumStatsArray {

    ArrayList<sumStats> sumStats;

}

, и это json

https://imgur.com/a/2Ly5OdC

edit :: глядя на код, который говорит sumStats (сразу после списка массивов) никогда не используется.может в этом проблема?Хотя я не знаю, как его использовать.

1 Ответ

0 голосов
/ 19 октября 2018

Я пишу простой пример для проверки gson.

Сущность пользователя

public class User {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                '}';
        }
    }
}

Код клиента здесь

public class GsonClient {
    public static void main(String[] args) {
        String usersJson = "[ { \"name\": \"henry\" }, { \"name\": \"justin\" } ]";
        Gson gson = new Gson();
        User[] users = gson.fromJson(usersJson, User[].class);
        for (User user : users) {
            System.out.println(user);
        }
    }
}

Вывод выглядит следующим образом.

User{name='henry'} User{name='justin'}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...