美文网首页
Json数据解析—JsonObject和GSON方式简单用法

Json数据解析—JsonObject和GSON方式简单用法

作者: 见哥哥长高了 | 来源:发表于2019-08-07 09:10 被阅读0次

    下面是一个Json字符串:

    String jsonStr = "[{"id":"1","name":"数据结构","version":"2.1"},{"id":"2","name":"软件工程","version":"3.1"},{"id":"3","name":"操作系统构","version":"4.1"}]";
    

    我们要使用JsonObject和GSON的式把这段简单的字符解析。

    JsonObject
      public void parserJsonWithJsonObject(){
    
            String jsonStr = "[{\"id\":\"1\",\"name\":\"数据结构\",\"version\":\"2.1\"},{\"id\":\"2\",\"name\":\"软件工程\",\"version\":\"2.1\"},{\"id\":\"3\",\"name\":\"操作系统\",\"version\":\"2.1\"}]";
    
            try {
                JSONArray jsonArray = new JSONArray(jsonStr);
    
                for (int i = 0; i < jsonArray.length();i++){
    
                    JSONObject object =  jsonArray.getJSONObject(i);
    
                    String name = object.getString("name");
                    String id = object.getString("id");
                    String version = object.getString("version");
    
                    Toast.makeText(MainActivity.this,"name="+name+" id="+id+" version"+version,Toast.LENGTH_LONG).show();
                }
            }catch (Exception e){
    
                e.printStackTrace();
    
            }
    
       }
    
    GSON

    在这里需要结合面向对象的思想。首先分析Json字符串可以转化成的模型类,新建一个类可以用来填充字符串中的数据。我们新建一个类User,并实现其setter和getter方法。

        public  class User{
    
            private String id;
            private String  name;
            private String version;
    
            public String getId() {
                return id;
            }
    
            public void setId(String id) {
                this.id = id;
            }
    
            public void setName(String name) {
                this.name = name;
            }
    
            public void setVersion(String version) {
                this.version = version;
            }
    
            public String getName() {
                return name;
            }
    
            public String getVersion() {
                return version;
            }
        }
    

    解析的实现

        public void parserJsonWithGSON(){
    
    
            String jsonStr = "[{\"id\":\"1\",\"name\":\"数据结构\",\"version\":\"2.1\"},{\"id\":\"2\",\"name\":\"软件工程\",\"version\":\"2.1\"},{\"id\":\"3\",\"name\":\"操作系统\",\"version\":\"2.1\"}]";
    
            Gson gson = new Gson();
    
            List<User> userList = gson.fromJson(jsonStr,new TypeToken<List<User>>(){}.getType());
    
            for (User user : userList){
    
                Toast.makeText(MainActivity.this,"name="+user.getName()+" id="+user.getId()+" version="+user.getVersion(),Toast.LENGTH_LONG).show();
    
            }
        }
    

    在工程中如果要使用GSON,需要在app/build.gradle中增加:

    compile 'com.google.code.gson:gson:2.8.4'
    

    相关文章

      网友评论

          本文标题:Json数据解析—JsonObject和GSON方式简单用法

          本文链接:https://www.haomeiwen.com/subject/bvendctx.html