Я использую последнюю версию. Я указал в своем вопросе, что я пытался использовать

дал объект для отправки некоторых данных в firebase. В качестве примера я использую пользовательский пример firebase:

public class User {
    public String username;
    public String email;

    public User() {
        // Default constructor required for calls to DataSnapshot.getValue(User.class)
    }

    public User(String username, String email) {
        this.username = username;
        this.email = email;
    }
}

Я хочу закодировать имена свойств, которые отправляются в firebase. В настоящее время ключи отправляются с использованием имен переменных. Я хочу закодировать ключи что-то вродеUseraname а такжеEmail, любитьGson делается. Я не хочу менять имена переменных.

@SerializateName("Username")
public String username;
@SerializateName("Username")
public String email;

я использовал@SerializateName(), но не работает. То же самое с@PropertyName который используется Firebse, не работает. Что я могу использовать для сериализации пользовательских ключей?

Обновление 1

public class Pojo {
    @PropertyName("Guid")
    public String guid;

   @PropertyName("Name")
   public String name;

   public String getPojoGuid() {
       return guid;
   }

   public void setPojoGuid(String guid) {
       this.guid = guid;
   }
}

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

Вэто документация это методtoMap(), Если я так делаю, то работает (мне не удобно), но не работает с@PropertyName.

Обновление 2

Если я пометить геттеры и сеттеры с@Exclude и класс с@IgnoreExtraProperties работает. Я не должен использоватьtoMap() Пример метода из документации. Использует указанное имя от@PropertyName, Не очень хорошая вещь, на мой взгляд, создавать путаницы.

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

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