There are fundamentally two tasks you need to solve for:
- Making an HTTP request from your Java app to the URL endpoint
- Converting the response data from serialized JSON to a data structure you can use in your application.
One approach would be to solve for these tasks separately. There is no shortage of good HTTP client libraries (Apache HttpComponents and Jetty HttpClient come to mind). And also no shortage of good libraries for manipulating JSON in Java. (Jackson, Google's GSON, others).
However, the "standard" way to interact with web services in Java is via the JAX-RS standard, of which Jersey is the reference implementation. The Jersey client module will allow you to perform the HTTP call and deserialize the JSON to a "bean-compliant" Java class in a single operation. See the Jersey documentation here:
https://jersey.java.net/documentation/latest/client.html
and here for information about JSON marshaling:
https://jersey.java.net/documentation/latest/media.html#json
All that said, if you only need to call one API and are just looking for the quickest way to get there, not necessarily the slickest solution, Apache HTTPComponents and Google GSON are probably the route I would take.
Good luck!