android – 使用改进解析动态密钥Json字符串

前端之家收集整理的这篇文章主要介绍了android – 使用改进解析动态密钥Json字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图解析下面的动态密钥Json String.
"report":{
    "data":{
        "results":{
            "558952cca6d73d7d81c2eb9d":{
                "Max":-1,"Min":-1,"Slope":-1,},"558ce148a6d73d7d81c2fa8a":{
                "Max":-2,"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中的额外的对象层.尝试将地图移动到您的数据类结果字段.
public class Data {
    @SerializedName("results")
    @Expose
    private Map<String,Vitals> result;

    //....
}
原文链接:https://www.f2er.com/android/310640.html

猜你在找的Android相关文章