美文网首页
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方式简单用法

    下面是一个Json字符串: 我们要使用JsonObject和GSON的式把这段简单的字符解析。 JsonObjec...

  • 2018-01-11

    Gson解析复杂json数据常用的两种解析方式 Gson gson = new Gson(); 1.gson.fr...

  • Android Gson官方推荐的json解析方式

    导航 XML的三种解析方式 json全面解析和使用 Gson官方推荐的json解析方式 Gson Gson解析是g...

  • Fast_JSON

    Fast_JSON是阿里推出的一种Json解析的一种方式,它的用法与GSON相似,但是比GSON还要简便解析 反向操作

  • Android-Gson小总

    几乎每次项目中都要用到Gson来解析json数据,今天想做个总结。ok,现在我们先来了解一下JSONObject和...

  • 第七周随笔(3)--JSON

    关于JSON的写法: 常用的解析JSON的开源代码: GSON fastJSON······· GSON的用法: ...

  • 关于json的默认

    JSONObject jsonObject =newJSONObject(json); 手动解析json json...

  • 4.4.2 JSONObject 和 GSON 解析 JSON

    本节例程下载地址:WillFLowJSON 一、JSON简介 我们之前已经掌握了 XML 格式数据的解析方式,那么...

  • GSON 解析 JSON

    GSON JSON 介绍 Gson 下载 Gson 解析 和 格式化Gson 格式化Gson 解析 解析asset...

  • Android 之json全面解析和使用

    导航 XML的三种解析方式 json全面解析和使用 Gson官方推荐的json解析方式 本节引言: 相信大家肯定对...

网友评论

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

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