Десериализация внутреннего класса с помощью gson возвращает ноль

Это мой первый раз, когда я задаю вопрос здесь, после 3 лет информатики, так что держись со мной.

Я хочу использовать Gson для десериализации моего JSON в объекты. Я определил соответствующие классы, и некоторые из объектов этого класса включены в другие объекты. При попытке десериализации всего JSON я получил нулевые значения, поэтому я начал разбивать его на части.

Я достиг точки, когда все низшие классы поддерживают себя, но при попытке десериализации в объект, который содержит экземпляр этого меньшего объекта - каждая вещь возвращается как ноль.

Мой частичный JSON:

{
  "user_profile": {
    "pk": 1,
    "model": "vcb.userprofile",
    "fields": {
      "photo": "images/users/Screen_Shot_2013-03-18_at_5.24.13_PM.png",
      "facebook_url": "https://google.com/facebook",
      "site_name": "simple food",
      "user": {
        "pk": 1,
        "model": "auth.user",
        "fields": {
          "first_name": "blue",
          "last_name": "bla"
        }
      },
      "site_url": "https://google.com/"
    }
  }
}

Класс UserProfile:

public class UserProfile {
    private int pk;
    private String model;
    private UPfields fields = new UPfields();//i tried with and without the "new"
}

Класс UPfields:

public class UPfields {
    private String photo;
    private String facebook_url;
    private String site_name;
    private User user;
    private String site_url;
}

Класс пользователя:

public class User {
    private int pk;
    private String model;
    private Ufields fields;
}

Класс Ufields:

public class Ufields {
    private String first_name;
    private String last_name;
}

В основном я звоню:

Gson gson = new Gson();
UserProfile temp = gson.fromJson(json, UserProfile.class);

Так что мой временный объект содержит только нулевые значения. Я пытался изменить классы на статические, и это не работает. Объект UPfields и все нижние работают нормально.

Какие-либо предложения?? когда я удаляю

"{" user_profile ":" и закрывающая скобка, десериализация объекта user_profile работает.

Ответы на вопрос(2)

Ваш ответ на вопрос