gpt4 book ai didi

java - 使用 proguard 进行改造不会反序列化某些模型

转载 作者:行者123 更新时间:2023-12-02 06:16:52 25 4
gpt4 key购买 nike

在我的代码中,尽管服务器返回了 User 模型,但该模型并未被反序列化。从我的代码 client.getPerson() 返回 Person 对象的实例,但 client.getUser() 返回一个空字符串可能是什么问题?

我的Client类如下,

public class Client implements Serializable {

@SerializedName("address")
private String address;

@SerializedName("nhif_no")
private String nhifNo;

@SerializedName("occupation_name")
private String occupationName;

@SerializedName("person")
private Person person;

@SerializedName("kra_pin")
private String kraPin;

@SerializedName("user")
private User user;

@SerializedName("client_id")
private int clientId;

@SerializedName("sales_agent_id")
private int salesAgentId;

public void setAddress(String address){
this.address = address;
}

public String getAddress(){
return address;
}

public void setNhifNo(String nhifNo){
this.nhifNo = nhifNo;
}

public String getNhifNo(){
return nhifNo;
}

public void setOccupationName(String occupationName){
this.occupationName = occupationName;
}

public String getOccupationName(){
return occupationName;
}

public void setPerson(Person person){
this.person = person;
}

public Person getPerson(){
return person;
}

public void setKraPin(String kraPin){
this.kraPin = kraPin;
}

public String getKraPin(){
return kraPin;
}

public void setUser(User user){
this.user = user;
}

public User getUser(){
return user;
}

public void setClientId(int clientId){
this.clientId = clientId;
}

public int getClientId(){
return clientId;
}

public void setSalesAgentId(int salesAgentId){
this.salesAgentId = salesAgentId;
}

public int getSalesAgentId(){
return salesAgentId;
}
}

我的Person类如下,

public class Person implements Serializable {

@SerializedName("last_name")
private String lastName;

@SerializedName("middle_name")
private String middleName;

@SerializedName("first_name")
private String firstName;

@SerializedName("person_id")
private int personId;

public void setLastName(String lastName){
this.lastName = lastName;
}

public String getLastName(){
return lastName;
}

public void setMiddleName(String middleName){
this.middleName = middleName;
}

public String getMiddleName(){
return middleName;
}

public void setFirstName(String firstName){
this.firstName = firstName;
}

public String getFirstName(){
return firstName;
}

public void setPersonId(int personId){
this.personId = personId;
}

public int getPersonId(){
return personId;
}
}

我的User类如下,

public class User implements Serializable{

@SerializedName("role_id")
private int roleId;

@SerializedName("email")
private String email;

public void setRoleId(int roleId){
this.roleId = roleId;
}

public int getRoleId(){
return roleId;
}

public void setEmail(String email){
this.email = email;
}

public String getEmail(){
return email;
}
}

我的JSON文件如下,
{
“客户”: {
“client_id”:128,
"nhif_no": "KJNH1289",
"kra_pin": "210986",
“销售代理 ID”:43,
"地址": "基库尤语",
"occupation_name": "囚犯",
“人”: {
“person_id”:358,
"first_name": "卡米蒂",
"middle_name": "杰拉",
"last_name": "巴里迪",
“性别”: {
“性别_id”:1,
“姓名”:“男”
}
},
“用户”:{
“电子邮件”:“jelabaridi@gmail.com”,
“角色 ID”:2
}
}
}

最佳答案

通过在 proguard 规则文件中添加以下行来修复此问题

-keep 类 org.myapp.mypackage.models.** { *; }

关于java - 使用 proguard 进行改造不会反序列化某些模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55865713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com