title: Google Gson issue with deserializing
body: <p>I have a Java class:</p>
  
  <pre><code>public class Object1 {
      private int field1;
      private String field2;
      private Object2 object2;
      private boolean field3;
  }
  </code></pre>
  
  <p>I've saved some Object1 instance as JSON string using Gson:</p>
  
  <pre><code>    String jsonString = new Gson().toJson(object1, Object1.class);
  </code></pre>
  
  <p>And then I added new String field to Object1 class:</p>
  
  <pre><code>public class Object1 {
      private int field1;
      private String field2;
      private String field4;
      private Object2 object2;
      private boolean field3;
  }
  </code></pre>
  
  <p>And now I can't to deserialize json string to Object1 instance using method:</p>
  
  <pre><code>Object1 obj1 = new Gson().fromJson(jsonString, Object1.class);
  </code></pre>
  
  <p>Because of Gson throws exception:</p>
  
  <blockquote>
    <p>System.err: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 444 path $.c
            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)</p>
  </blockquote>
  
  <p>But why? I have JSON string without one field and it can't to be a problem. Why I can't deserialize it?</p>