简而言之,我正在尝试将用户的信息格式化到数据库中,以便在通过JSON发送时数据大写--Google搜索告诉我@PropertyName功能,我一直试图用它来取消成功。用户类如下:
class User(@PropertyName("FirstName") @get:Exclude @set:Exclude var firstName: String = "",
@PropertyName("LastName") @get:Exclude @set:Exclude var lastName: String = "",
@PropertyName("Email") @get:Exclude @set:Exclude var Email: String = "",
@PropertyName("PhoneNumber") @get:Exclude @set:Exclude var phoneNumber: String = "",
@PropertyName("Gender") @get:Exclude @set:Exclude var Gender: String = "",
@PropertyName("City") @get:Exclude @set:Exclude var City: String = "",
@PropertyName("DateOfBirth") @get:Exclude @set:Exclude var dateOfBirth: String = "",
@PropertyName("School") @get:Exclude @set:Exclude var School: String = "",
@PropertyName("Work") @get:Exclude @set:Exclude var Work: String = "",
@PropertyName("DateJoined") @get:Exclude @set:Exclude var dateJoined: Long = 0L)
以新用户身份注册时,该帐户是在Firebase中创建的,但在尝试将其信息添加到实时数据库时收到以下消息时出现错误:com.google.firebase.database.DatabaseException: No properties to serialize found on class com.android.projectrc.User
- 我很确定与PropertyName属性有关,因为这在添加它之前从未发生过 - 但是删除它不是一个选项,因为我需要格式化数据以特定方式来防止数据库中现有信息的问题(目前它被格式化为camel- case,所以当我需要它作为“FirstName”时,“firstName”将成为关键
我实际尝试将用户信息添加到数据库的代码是以下两行:
val user = User(firstName, lastName, email)
//add user info to database
mDatabase.child("Users").child(userId).child("UserInfo").setValue(user)
第三行似乎也是错误发生的地方。我可以使用其他一些解决方法解决这个问题,还是有些东西我不知道?