我正在尝试解析以下动态 key Json 字符串。
"report":{
"data":{
"results":{
"558952cca6d73d7d81c2eb9d":{
"Max":-1,
"Min":-1,
"Slope":-1,
},
"558ce148a6d73d7d81c2fa8a":{
"Max":-2,
"Min":-1,
"Slope":-2,
}
}
}
}
以下我正在尝试获取数据,但在解析最后一个动态 json 字符串时出错。
public class Report {
@SerializedName("data")
@Expose
private Data data;
public Data getData() {
return data;
}
public void setData(Data data) {
this.data = data;
}
@Override
public String toString() {
return "Report{" +
"data=" + data +
'}';
}
}
public class Data {
@SerializedName("results")
@Expose
private ResultInside result;
public ResultInside getResult() {
return result;
}
public void setResult(ResultInside result) {
this.result = result;
}
}
public class ResultInside {
/*@SerializedName("results")
@Expose*/
private Map<String, Vitals> elemDetails = new HashMap<>();
public Map<String, Vitals> getElemDetails() {
return elemDetails;
}
public void setElemDetails(Map<String, Vitals> elemDetails) {
this.elemDetails = elemDetails;
}
}
在这种情况下如何解析的任何建议!
最佳答案
您的 resultInside
类正在添加 JSON 中不存在的额外对象层。尝试将 map 移动到您的 Data
类 results
字段。
public class Data {
@SerializedName("results")
@Expose
private Map<String, Vitals> result;
//....
}
关于android - 使用 Retrofit 解析动态 key Json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33758601/