GsonBuilder()。excludeFieldsWithModifiers()迁移到AndroidX后无法在发布版本中使用

时间:2019-12-09 08:28:23

标签: android gson http-post httprequest androidx

在迁移到 androidX 之前,该发布版本可以与 HTTP请求 一起正常工作。

迁移到 androidX 后,每个 GET 请求均有效,但所有 POST 请求均无效。它不能将参数发送到服务器端。 POST 请求的所有内容均为空。

我唯一要做的更改是将该项目迁移到 androidX

主要原因是GsonBuilder().excludeFieldsWithModifiers()无法正常工作,并返回了空的json字符串。

POJO对象

public class Person {

public static final int MAJOR = 0;
public static final int MINOR = 1;
private String uniqueId;
private String name;
private String nickName;
private String localUniqueId;
protected String tempAdrss;

public String getUniqueId() {
    return uniqueId;
}

public void setUniqueId(String uniqueId) {
    this.uniqueId = uniqueId;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getNickName() {
    return nickName;
}

public void setNickName(String nickName) {
    this.nickName = nickName;
}

public String getLocalUniqueId() {
    return localUniqueId;
}

public void setLocalUniqueId(String localUniqueId) {
    this.localUniqueId = localUniqueId;
}

public String getTempAdrss() {
    return tempAdrss;
}

public void setTempAdrss(String tempAdrss) {
    this.tempAdrss = tempAdrss;
}}

当我们放置数据并将其发送到Valley请求GsonBuilder()时,将返回一个空对象。

   Person person=new Person();
   person.setName("Abc");
   pesron.getUniqueId("abcdef");

   Gson gson = new GsonBuilder().excludeFieldsWithModifiers(Modifier.PROTECTED, Modifier.PUBLIC).create();
   String requestBody = gson.toJson(person);

requestBody返回{},当我们删除修饰符时,它将返回带有 所有变量 的jsonString。

0 个答案:

没有答案