Java 改装/Android-动态响应支持
我在将生成的json数据映射到带有改进的pojo类时遇到了问题。我需要通过令牌确定Firebase主题。这可以通过Google的json api实现,如下所述: 在我的情况下,服务器的响应与此类似:Java 改装/Android-动态响应支持,java,android,json,retrofit,firebase-cloud-messaging,Java,Android,Json,Retrofit,Firebase Cloud Messaging,我在将生成的json数据映射到带有改进的pojo类时遇到了问题。我需要通过令牌确定Firebase主题。这可以通过Google的json api实现,如下所述: 在我的情况下,服务器的响应与此类似: { "applicationVersion": "36", "connectDate": "2018-02-04", "attestStatus": "ROOTED", "application": "<my application id>", "
{
"applicationVersion": "36",
"connectDate": "2018-02-04",
"attestStatus": "ROOTED",
"application": "<my application id>",
"scope": "*",
"authorizedEntity": "205414012839",
"rel": {
"topics": {
"topic1": {
"addDate": "2018-02-04"
},
"topic2": {
"addDate": "2018-01-31"
}
}
},
"connectionType": "WIFI",
"appSigner": "<hash>",
"platform": "ANDROID"
}
{
“应用程序版本”:“36”,
“连接日期”:“2018-02-04”,
“认证状态”:“根目录”,
“申请”:“,
“范围”:“*”,
“授权身份”:“205414012839”,
“rel”:{
“主题”:{
“主题1”:{
“添加日期”:“2018-02-04”
},
“主题2”:{
“添加日期”:“2018-01-31”
}
}
},
“连接类型”:“WIFI”,
“appSigner”:“,
“平台”:“安卓”
}
问题基本上是rel
和topics
结构,因为topics
是动态的,字段列表可以通过任何方式进行,而且是未知的。因此,我无法生成简单的POJO,以便通过Retrfofit自动将其映射
我是否可以强制改装以将主题
视为单个字符串
字段,稍后我将能够对其进行解析以检索主题列表?或者还有其他解决办法吗
有什么想法吗?如果使用gson,可以将rel定义为一个jsonement。如果使用moshi,可以将其定义为地图。 对于gson:
public class Response{
private String applicationVersion;
private String connectDate;
private String attestStatus;
private String application;
private String scope;
private String authorizedEntity;
private String connectionType;
private String appSigner;
private String platform;
private JsonElement rel;
}
对于moshi:
public class Response{
private String applicationVersion;
private String connectDate;
private String attestStatus;
private String application;
private String scope;
private String authorizedEntity;
private String connectionType;
private String appSigner;
private String platform;
private Map<String, Map<String, Map<String, String>>> rel;
}
公共类响应{
私有字符串应用程序版本;
私有字符串连接日期;
私有字符串状态;
私有字符串应用程序;
私有字符串范围;
私人身份;
私有字符串连接类型;
私有字符串appSigner;
私有字符串平台;
私人地图;
}