title: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2
body: <p>I'm getting below error.</p>
  
  <blockquote>
    <p>Failed to parse JSON due to: com.google.gson.JsonSyntaxException:
    java.lang.IllegalStateException: Expected BEGIN_ARRAY but was
    BEGIN_OBJECT at line 1 column 2</p>
  </blockquote>
  
  <p><strong>Server Url</strong> </p>
  
  <pre><code>public static final String SERVER_URL = "https://maps.googleapis.com/maps/api/timezone/json?location=-37.8136,144.9631&amp;timestamp=1389162695&amp;sensor=false";
  </code></pre>
  
  <p><strong>Perform the request</strong></p>
  
  <pre><code>    try {
          // Create an HTTP client
          HttpClient client = HttpClientBuilder.create().build();
          HttpPost post = new HttpPost(SERVER_URL);
  
          // Perform the request and check the status code
          HttpResponse response = client.execute(post);
          StatusLine statusLine = response.getStatusLine();
          if (statusLine.getStatusCode() == 200) {
              HttpEntity entity = response.getEntity();
              InputStream content = entity.getContent();
  
              try {
                  // Read the server response and attempt to parse it as JSON
                  Reader reader = new InputStreamReader(content);
  
                  GsonBuilder gsonBuilder = new GsonBuilder();
                  gsonBuilder.setDateFormat("M/d/yy hh:mm a");
                  Gson gson = gsonBuilder.create();
                  List&lt;Post&gt; postsList = Arrays.asList(gson.fromJson(reader,
                          Post[].class));
  
                  content.close();
  
                  for (Post p : postsList) {
                      System.out.println(p.timeZoneId);
                  }
  
              } catch (Exception ex) {
                  System.out.println("Failed to parse JSON due to: " + ex);
              }
          } else {
              System.out.println("Server responded with status code: "
                      + statusLine.getStatusCode());
          }
      } catch (Exception ex) {
          System.out
                  .println("Failed to send HTTP POST request due to: " + ex);
      }
  </code></pre>
  
  <p><strong>Post class</strong></p>
  
  <pre><code>public class Post {
      public String timeZoneId;
      public Post() {
  
      }
  }
  </code></pre>
  
  <p>How could I solve this ?</p>