我有一个Android应用程序,与Spring开发的RESTAPI联系。应用程序很好地序列化了一个对象,但是Spring应用程序在每个字段不为null时将其解析为null。有什么不对劲?我该怎么办?
这是REST API方法签名:cambioPassword(@quiestHeader(授权)字符串头,PasswordChange userData)
注意:应用程序和API都使用Gson(我没有在Spring应用程序中使用Jackson作为默认值)
我尝试了各种构造函数,并且改变了Java类字段的可见性
public class PasswordChange {
private String name;
private String currentPassword; // Ciphered field
private String newPassword; // Ciphered field
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCurrentPassword() {
return currentPassword;
}
public void setCurrentPassword(String currentPassword) {
this.currentPassword= currentPassword;
}
public String getNewPassword() {
return newPassword;
}
public void setNewPassword(String newPassword) {
this.newPassword = newPassword;
}
}
服务器应该能够反序列化PasswordChange类,并且字段不应该为null,因为它们不在原始发送的JSON中。
有没有可能你错过了@quiestBody注释,我希望它看起来像:
@PostMapping("/cambio")
cambioPassword(@RequestHeader("Authorization") String header, @RequestBody PasswordChange userData){
...
}
看见https://www.baeldung.com/spring-request-response-body
问题内容: 我有以下类,它是由Jackson映射的(简化版): 在某些情况下,服务器会返回,然后我想将name设置为空的Java String。 是否有任何Jackson注释,或者如果属性为,我应该只检查getter中的null并返回空字符串? 问题答案: 您可以在默认构造函数中或声明时进行设置: 要么
我有以下由Jackson映射的类(简化版): 在某些情况下,服务器返回,然后我想将name设置为空Java字符串。 是否有任何Jackson注释,或者如果属性为,我应该只检查getter中的null并返回空字符串吗?
首先,我想说这是一个大学项目。 我有三节课<代码>订单抽象类和从订单继承的和类。 我使用Gson序列化/反序列化子类,但我遇到了一点问题。订单类有一个字段,gson使用该字段来确定订单类型,DineIn或Delivery。 序列化工作得很好。问题是,每当我尝试反序列化时,类型字段值都不会读取,并且总是设置为null,即使它存在于JSON文件中。当有很多字段时,就会发生这种情况,因为当我尝试在较小的
问题内容: 我有这个字符串: 我正在反序列化对象: 该对象看起来像: 并尝试创建字典: 但得到。 可能是什么问题? 问题答案: 请参阅mridula的答案,了解为什么您会得到null。但是,如果您想直接将json字符串转换为字典,则可以尝试以下代码段。
我试图反序列化这个json对象数组: 我的java类看起来像这样: 问题在于json的tags属性,它可以是空字符串或数组。现在gson给了我一个错误: 我应该如何反序列化这个json? 我对这个json没有任何控制,它来自第三方api。
我正在使用gson进行改造,将json反序列化为领域对象。这在大多数情况下都很有效。处理问题时会出现麻烦 RealmList(字符串(或任何其他基本数据类型)) 由于Realm不支持RealmList,其中E不扩展Realm对象,所以我将字符串包装在RealmObject中。 我的领域对象如下 SimpleRealmObj工作正常,因为它只有字符串元素 如何反序列化stringStuff?我试过使