Parsing JSON Array using GSON

后端 未结 2 962
甜味超标
甜味超标 2020-12-06 15:07

I have a basic JSON with all data contained in an array. One would think that it would be simple to retreive a value out of the array, but after multiple hours of trying eve

2条回答
  •  天命终不由人
    2020-12-06 15:21

    Your json format is not correct which you have posted here correct it for example

    { 
       "versions":[
          {
             "id":"2.7",
             "time":"2012-10-25T15:00:00+02:00",
             "releaseTime":"2013-10-25T15:00:00+02:00",
             "type":"Release"
          },
          {
             "id":"2.6.4",
             "time":"2011-12-2T14:01:07+02:00",
             "releaseTime":"2013-12-2T14:01:07+02:00",
             "type":"Develop"
          }
       ]
    } 
    

    First Define Classes you will get everything

    public class Version {
    
           private List versions;
    
           public List getVersions() {
               return versions;
           }
    
           public void setVersions(List versions) {
               this.versions = versions;
           }
    
           @Override
           public String toString() {
               return "Version [versions=" + versions + "]";
           }
    }
    
    public class Versions {
    
        private String  id;
        private String  time;
        private String  releaseTime;
        private String  type;
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getTime() {
            return time;
        }
        public void setTime(String time) {
            this.time = time;
        }
        public String getReleaseTime() {
            return releaseTime;
        }
        public void setReleaseTime(String releaseTime) {
            this.releaseTime = releaseTime;
        }
        public String getType() {
            return type;
        }
        public void setType(String type) {
            this.type = type;
        }
        @Override
        public String toString() {
            return "Versions [id=" + id + ", time=" + time + ", releaseTime="
                    + releaseTime + ", type=" + type + "]";
        }
    }
    

    Finally you can parse the JSON as like here

    JsonReader reader = new JsonReader(new FileReader(Constants.VersJson));
    Gson gson = new Gson();
    Version version = gson.fromJson(reader, Version.class);
    

提交回复
热议问题