Android Retrofit Json Parsing(部分json动态)
Posted
技术标签:
【中文标题】Android Retrofit Json Parsing(部分json动态)【英文标题】:Android Retrofit Json Parsing(part of json dynamic) 【发布时间】:2017-06-19 02:34:58 【问题描述】:我们正在使用 Retrofit 1.9
最初服务器返回一个像这样的 json-
"known_key1":"value1",
"known_key2":"value2"
我们已经创建了模型 -
public class ResponseModel
@SerializedName("known_key1")
private String knownKey1;
@SerializedName("known_key2")
private String knownKey2;
一切正常。
但是现在服务器在响应中返回了更多的键,但是键是动态的 -
"known_key1":"value1",
"known_key2":"value2",
"dynamic_key1":"value1",
"dynamic_key2":"value2"
现在我们的模型应该是什么?
【问题讨论】:
在这种情况下,不要使用模型。而是使用 JsonObject 并从 JsonObject 解析键。 你的意思是我们需要手动解析? 是的,或者您可以按照@Mike 的建议使用 Map对于这种情况,您可以使用地图
Map<String, Object> map
【讨论】:
如果我们在模型中包含这样的内容,Gson 将如何反序列化它,我的意思是 Gson 将分配什么键。我们没有得到任何作为地图的键。 不,你不再需要模型了,直接去地图。因此,在解析响应时,它就像键值对一样简单。 能否请您详细说明一下。 不使用 ResponseModel 类,只使用 Map以上是关于Android Retrofit Json Parsing(部分json动态)的主要内容,如果未能解决你的问题,请参考以下文章
Android Retrofit 请求字符串(非JSON数据)
Android Retrofit2 Post请求添加Json类型参数笔记
Android Retrofit 数组列表中的嵌套 JSON 对象