繁体   English   中英

retrofit 无法解析内部 json 对象

[英]retrofit fails to parse inner json objects

这是 model class 来解析来自服务器的 json 字符串。 当我使用这个 class 时,网络响应失败,但我可以在 logcat 中看到帖子。 我认为 retrofit 无法解析内部对象。

public class ProfileResponse {
@SerializedName("result")
private int result;

@SerializedName("comment")
private String comment;

@SerializedName("time")
private String time;

@SerializedName("header")
private Header header;

@SerializedName("tests")
private Test[] tests;

@SerializedName("entries")
private Entry[] entries;
}

当我将此类的字段更改为如下所示的字符串并在 Gson 保持所有内容相同(如 Header、Entry、Test 类'。为了简单起见我不共享它们)之后解析它们时,没有一个问题。 但是我不明白为什么会发生这种情况。

public class ProfileResponse {
@SerializedName("result")
private int result;

@SerializedName("comment")
private String comment;

@SerializedName("time")
private String time;

@SerializedName("header")
private String header;

@SerializedName("tests")
private String tests;

@SerializedName("entries")
private String entries;
}

当我像这样解析响应时,没有问题,但 retrofit 内部没有这样做,我搜索了类似的问题并将我的模型与答案进行了比较,但我无法弄清楚为什么会发生这种情况。

         String testString = profileDataString.getTests();
         Test[] tests = gson.fromJson(testString, Test[].class);

上面的代码完美运行,但我想在内部使用 retrofit。我不想单独解析每个字段,我想在 class 配置文件响应的单个 object 中接收服务器响应。 我应该怎么办? 提前致谢,

我也许可以提供帮助,但是您的测试 header 和条目 model 类是什么样的? 如果可以的话,我也有兴趣看到你的 retrofit 自己调用。

要尝试的一件事是,我在 retrofit 中的模型中不使用数组类型,但我使用List<my_type> 我不太清楚这是否是问题所在,但是您可能想尝试一下吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM