title: Expected BEGIN_OBJECT but was STRING with Gson
body: <p>I'm getting a response from <code>Retrofit 2</code> like: </p>
  
  <blockquote>
    <p>{"error":"0","posts":[{"account_id":61,"industry_id":1,"company_id":1,"profession_id":1,"description":"Demo
    Post 13","tags":"Cinema","created_at":"2016-12-05
    10:47:41","totalFlags":0,"totalComments":0},{"account_id":65,"industry_id":2,"company_id":13,"profession_id":11,"description":"Demo
    Post 12","tags":"Cinema","created_at":"2016-12-05
    10:47:33","totalFlags":0,"totalComments":0},{"account_id":65,"industry_id":2,"company_id":13,"profession_id":11,"description":"Demo
    Post 11","tags":"Culture","created_at":"2016-12-05
    10:47:17","totalFlags":0,"totalComments":0}]}</p>
  </blockquote>
  
  <p>and I have declared two items:</p>
  
  <pre><code>public class FeedServiceResponse implements Serializable {
  
    private String error;
    private FeedServiceResponseItem[] posts;
  
    // getters/setters omitted
  }
  </code></pre>
  
  <p>and </p>
  
  <pre><code>public class FeedServiceResponseItem implements Serializable {
  
    private int account_id;
    private int industry_id;
    private int company_id;
    private int profession_id;
    private String description;
    private String tags;
    private String created_at;
    private String totalFlags;
    private int totalComments;
  
   // again getters/setters omitted
  
  }
  </code></pre>
  
  <p>but inside <code>onResponse()</code> from <code>Retrofit</code> when I try to deserialize data like that: </p>
  
  <pre><code>FeedServiceResponse feedServiceResponse = gson.fromJson(response.body().toString(), FeedServiceResponse.class);
  </code></pre>
  
  <p>I get the following error:</p>
  
  <pre><code>12-05 17:15:17.318 16724-16724/MY_PACKAGE.mock E/AndroidRuntime: FATAL EXCEPTION: main
   Process: MY_PACKAGE.mock, PID: 16724
   com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
       at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
       at com.google.gson.Gson.fromJson(Gson.java:887)
       at com.google.gson.Gson.fromJson(Gson.java:852)
       at com.google.gson.Gson.fromJson(Gson.java:801)
       at com.google.gson.Gson.fromJson(Gson.java:773)
       at MY_PACKAGE.main.fragments.feed.FeedRepository$1.onResponse(FeedRepository.java:50)
       at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68)
       at android.os.Handler.handleCallback(Handler.java:733)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:136)
       at android.app.ActivityThread.main(ActivityThread.java:5086)
       at java.lang.reflect.Method.invokeNative(Native Method)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
       at dalvik.system.NativeStart.main(Native Method)
    Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
       at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
       at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
       at com.google.gson.Gson.fromJson(Gson.java:887) 
       at com.google.gson.Gson.fromJson(Gson.java:852) 
       at com.google.gson.Gson.fromJson(Gson.java:801) 
       at com.google.gson.Gson.fromJson(Gson.java:773) 
       at MY_PACKAGE.main.fragments.feed.FeedRepository$1.onResponse(FeedRepository.java:50) 
       at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68) 
       at android.os.Handler.handleCallback(Handler.java:733) 
       at android.os.Handler.dispatchMessage(Handler.java:95) 
       at android.os.Looper.loop(Looper.java:136) 
       at android.app.ActivityThread.main(ActivityThread.java:5086) 
       at java.lang.reflect.Method.invokeNative(Native Method) 
       at java.lang.reflect.Method.invoke(Method.java:515) 
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
       at dalvik.system.NativeStart.main(Native Method) 
  </code></pre>
  
  <p>I have read other questions/answers on <code>StackOverflow</code> but cant seem to find what I am doing wrong.</p>