Как спарсить правильно json, в котором есть массив объектов?

У меня задача спарсить json в котором массив объектов, затем преобразовать в классы и распечатать. Что тут я делаю не так?

код:

public static void main(String[] args) {
    Gson gson = new GsonBuilder()
            .setPrettyPrinting()
            .create();

    String url = "https://jsonplaceholder.typicode.com/posts";
    try {
        HttpURLConnection httpClient = (HttpURLConnection) new URL(url).openConnection();
        httpClient.setRequestMethod("GET");
        httpClient.setRequestProperty("User", "Google Ghrome");
        int responseCode = httpClient.getResponseCode();
        System.out.println("URL сайта: " + url);
        System.out.println("код ответа: " + responseCode);

        BufferedReader in = new BufferedReader(new InputStreamReader(httpClient.getInputStream()));
        

        User[]  users = gson.fromJson(in, User[].class);
        System.out.println(users);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

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

Автор решения: zed
  1. В классе User нужно переопределить метод toString():

     class User{
    
         public int userId;
         public int id;
         public String title;
         public String body;
    
         @Override
         public String toString() {
             return "User{" +
                     "userId=" + userId +
                     ", id=" + id +
                     ", title='" + title + '\'' +
                     ", body='" + body + '\'' +
                     '}';
         }
     }
    
  2. Использовать метод Arrays.toString() для печати массива:

     User[] users = gson.fromJson(in, User[].class);
     System.out.println(Arrays.toString(users));
    
→ Ссылка