title: Android Retrofit Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
body: <p>I am using okhttp Retrofit in my Android App to make network requests. On one of the requests I get this error:</p>
  
  <p>com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $</p>
  
  <p>I see a 201 response in the logs but Retrofit throws this error. Below is my code.</p>
  
  <pre><code>signup(signupParams, new Callback&lt;Member&gt;() {
              @Override
              public void success(Member member, Response response) {
                  if (member != null) {
                      UserAccount userAccount = new UserAccount(member);
                      userAccount.save();
              }
  
              @Override
              public void failure(RetrofitError re) {
                  BusProvider.post(new SignupFailedEvent(re, email));
              }
          });
  </code></pre>
  
  <p>signupParams value is --</p>
  
  <pre><code>{"emailAddress":"test@gmail.com","password":"tester123","userSource":"APH"}
  </code></pre>
  
  <p>I have tested this json with jsonLint and it is a valid json. And this is my Member Class which should be the response ideally.</p>
  
  <pre><code>public class Member {
      public String emailAddress;
      public String token;
      public long id;
      public String firstName;
      public String lastName;
  }
  </code></pre>
  
  <p>Example of the response should be something like this:</p>
  
  <pre><code>{
      "emailAddress": "test@gmail.com",
      "id": 1437811,
      "token": "sdhshdghsdhhsdbcjhbsjdhc",
      "firstName": "John",
      "lastName": "Smith"
  }
  </code></pre>