Trần Ngọc Hồi
Trần Ngọc Hồi

Reputation: 21

Get JSON String from API java

How can I get String Json by Response from API in Java? I am trying to get And Parse them to Object but I not work

public class tedst {
    public static void main(String[] args) {
        OkHttpClient client = new OkHttpClient();
        Gson gson = new Gson();
        Request res = new Request.Builder().url("http://api.openweathermap.org/data/2.5/weather?q=Hanoi&APPID=bffca17bcb552b8c8e4f3b82f64cccd2&units=metric").build();
        try {
            Response response = client.newCall(res).execute();
           Data data = gson.fromJson(response.toString(), Data.class);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Upvotes: 2

Views: 219

Answers (1)

SKBo
SKBo

Reputation: 619

Your Response object should have a body() method that lets you retrieve what has been responded to your call.

Your code should look like this:

try (Response response = client.newCall(res).execute();
     ResponseBody body = response.body()) {
    Data data = gson.fromJson(body.string(), Data.class);
} catch (IOException e) {
    e.printStackTrace();
}

Upvotes: 1

Related Questions