title: Error Expected BEGIN_OBJECT but was STRING - deserialization of an object inside of the string
body: <p>I have a <code>json</code> string:</p>
  
  <pre><code>{
  "Id": 1,
  "Title": "A night with king of France",
  "Description": "King's of France awesome audition",
  "Day": "Monday",
  "Time": "00:00:00",
  "FinnishTime": "02:00:00",
  "Picture": "http://cp91279.biography.com/1000509261001/1000509261001_1134394072001_Bio-Biography-Louis-XIV-LF-retry.jpg",
  "Host1": {
      "Id": 1,
      "Name": "Louis XIV",
      "Description": "The king of France - likes classical music"
  }}
  </code></pre>
  
  <p>and I'm trying to deserialize it using <code>json</code></p>
  
  <pre><code>Type listType = new TypeToken&lt;Program&gt;() {}.getType();
  Program h = new Gson().fromJson(text, listType);
  </code></pre>
  
  <p>My Program Class looks like this:</p>
  
  <pre><code>private int Id;
  private String Title;
  private String Description;
  private String Day;
  private LocalTime Time;
  private LocalTime FinnishTime;
  private String Picture;
  private Host Host1;
  
  Program(int id, String title, String description, Host host, String day, LocalTime startTime, LocalTime finnishTime, String picture)
  
  {
      this.Id = id;
      this.Title = title;
      this.Description = description;
      this.Day = day;
      this.Time = startTime;
      this.FinnishTime = finnishTime;
      this.Picture = picture;
      this.Host1 = host;
  
  }
  
  public int getId() {
      return Id;
  }
  
  public void setId(int id) {
      Id = id;
  }
  
  public String getTitle() {
      return Title;
  }
  
  public void setTitle(String title) {
      Title = title;
  }
  
  public String getDescription() {
      return Description;
  }
  
  public void setDescription(String description) {
      Description = description;
  }
  
  public Host getHost1() {
      return Host1;
  }
  
  public void setHost1(Host host1) {
      Host1 = host1;
  }
  public String toString() {
      return this.Id + ". " + this.Title;
  }
  
  public String getDay() {
      return Day;
  }
  
  public void setDay(String day) {
      Day = day;
  }
  
  public LocalTime getTime() {
      return Time;
  }
  
  public void setTime(LocalTime time) {
      Time = time;
  }
  
  public LocalTime getFinnishTime() {
      return FinnishTime;
  }
  
  public void setFinnishTime(LocalTime finnishTime) {
      FinnishTime = finnishTime;
  }
  
  public String getPicture() {
      return Picture;
  }
  
  public void setPicture(String picture) {
      Picture = picture;
  </code></pre>
  
  <p>EDIT</p>
  
  <pre><code>    private int Id;
  private String Name;
  private String Description;
  public Host(int Id, String Name, String Description)
  {
      this.Id = Id;
      this.Name = Name;
      this.Description = Description;
  }
  
  public int getId() {
      return Id;
  }
  
  public void setId(int id) {
      this.Id = id;
  }
  
  public String getName() {
      return Name;
  }
  
  public void setName(String name) {
      this.Name = name;
  }
  
  public String getDescription() {
      return Description;
  }
  
  public void setDescription(String description) {
      this.Description = description;
  }
  </code></pre>
  
  <p>The error is <code>Expected BEGIN_OBJECT but was STRING at line 1 column 120</code>
  I think that the problem is that it confuses <code>Host1</code> variable with one of the others - but I have no idea why, and how to make it understand in correct way. What does line 1 column 120 mean? </p>