title: How to parse nested JSON from Map<String, Object>
body: <p>I am using the below to map a json response to a Map</p>
  
  <pre><code> Map&lt;String, Object&gt; apiResponse = restTemplate.postForObject("https://maps.googleapis.com/maps/api/geocode/json?address="+defaultLocation+"&amp;key="+API_KEY, httpEntity, Map.class, Collections.EMPTY_MAP);
  </code></pre>
  
  <p>I can use the below to output the entire JSON to a string</p>
  
  <pre><code>    String jsonResponse = apiResponse.get("results").toString();
  </code></pre>
  
  <p>However, what I want to get is a nested value which is <code>results-&gt;geometry-&gt;location</code></p>
  
  <p>I have tried a number of solution with <code>JSONArrays, JSONObjects, Substring</code> but can't get them to work.</p>
  
  <p>Response JSON:</p>
  
  <pre><code>{
     "results" : [
        {
           "address_components" : [
              {
                 "long_name" : "Auckland",
                 "short_name" : "Auckland",
                 "types" : [ "locality", "political" ]
              },
              {
                 "long_name" : "Auckland",
                 "short_name" : "Auckland",
                 "types" : [ "administrative_area_level_2", "political" ]
              },
              {
                 "long_name" : "Auckland",
                 "short_name" : "Auckland",
                 "types" : [ "administrative_area_level_1", "political" ]
              },
              {
                 "long_name" : "New Zealand",
                 "short_name" : "NZ",
                 "types" : [ "country", "political" ]
              }
           ],
           "formatted_address" : "Auckland, New Zealand",
           "geometry" : {
              "bounds" : {
                 "northeast" : {
                    "lat" : -36.660571,
                    "lng" : 175.287137
                 },
                 "southwest" : {
                    "lat" : -37.065475,
                    "lng" : 174.4438016
                 }
              },
              "location" : {
                 "lat" : -36.8484597,
                 "lng" : 174.7633315
              },
              "location_type" : "APPROXIMATE",
              "viewport" : {
                 "northeast" : {
                    "lat" : -36.660571,
                    "lng" : 175.287137
                 },
                 "southwest" : {
                    "lat" : -37.065475,
                    "lng" : 174.4438016
                 }
              }
           },
           "place_id" : "ChIJ--acWvtHDW0RF5miQ2HvAAU",
           "types" : [ "locality", "political" ]
        },
        {
           "address_components" : [
              {
                 "long_name" : "Auckland",
                 "short_name" : "Auckland",
                 "types" : [ "political", "sublocality", "sublocality_level_1" ]
              },
              {
                 "long_name" : "Auckland",
                 "short_name" : "Auckland",
                 "types" : [ "locality", "political" ]
              },
              {
                 "long_name" : "Auckland",
                 "short_name" : "Auckland",
                 "types" : [ "administrative_area_level_2", "political" ]
              },
              {
                 "long_name" : "Auckland",
                 "short_name" : "Auckland",
                 "types" : [ "administrative_area_level_1", "political" ]
              },
              {
                 "long_name" : "New Zealand",
                 "short_name" : "NZ",
                 "types" : [ "country", "political" ]
              },
              {
                 "long_name" : "1010",
                 "short_name" : "1010",
                 "types" : [ "postal_code" ]
              }
           ],
           "formatted_address" : "Auckland, 1010, New Zealand",
           "geometry" : {
              "bounds" : {
                 "northeast" : {
                    "lat" : -36.8364659,
                    "lng" : 174.7838398
                 },
                 "southwest" : {
                    "lat" : -36.8621041,
                    "lng" : 174.7503805
                 }
              },
              "location" : {
                 "lat" : -36.8484597,
                 "lng" : 174.7633315
              },
              "location_type" : "APPROXIMATE",
              "viewport" : {
                 "northeast" : {
                    "lat" : -36.8364659,
                    "lng" : 174.7838398
                 },
                 "southwest" : {
                    "lat" : -36.8621041,
                    "lng" : 174.7503805
                 }
              }
           },
           "place_id" : "ChIJuZqpSPtHDW0R4LOiQ2HvAAU",
           "types" : [ "political", "sublocality", "sublocality_level_1" ]
        }
     ],
     "status" : "OK"
  }
  </code></pre>
  
  <p>Any help would be greatly appreciated.</p>