欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android JSON解析插件

程序员文章站 2023-11-09 21:20:22
JSON是一种轻量级的数据格式,用于数据的交互。 Android交互数据主要两种方式:JSON和 XML。XML格式比JSON格式数量略大,所以大多都使用Json数据格式。 在Android开发的过程中,数据访问 JSON解析就显得尤为重要。 示例JSON 添加插件GsonFormat 添加依赖 g ......
  •  json是一种轻量级的数据格式,用于数据的交互。
  •  android交互数据主要两种方式:json和 xml。xml格式比json格式数量略大,所以大多都使用json数据格式。
  •  在android开发的过程中,数据访问 json解析就显得尤为重要。

 

示例json

{ name :"xqz", age:21, friends:["wzj","cgj","wl"] }

 

添加插件gsonformat

 Android JSON解析插件

 Android JSON解析插件

 

添加依赖 gson

   Android JSON解析插件

   Android JSON解析插件

 

gsonformat

  根据 json 数据自动创建实体类。

  • 创建一个实体类 javabean

【javabean】

public class javabean {
    
}
  • 右击或使用 alt+s 快捷键

Android JSON解析插件

  Android JSON解析插件

  Android JSON解析插件

  Android JSON解析插件

【结果】

public class javabean {

    /**
     * name : xqz
     * age : 21
     * friends : ["wzj","cgj","wl"]
     */

    private string name;
    private int age;
    private list<string> friends;

    public string getname() {
        return name;
    }

    public void setname(string name) {
        this.name = name;
    }

    public int getage() {
        return age;
    }

    public void setage(int age) {
        this.age = age;
    }

    public list<string> getfriends() {
        return friends;
    }

    public void setfriends(list<string> friends) {
        this.friends = friends;
    }
}

 

gson

  • gson是基于事件驱动的,根据所需要取的数据建立一个对应 json 数据的 实体类,可以通过gson 将json数据赋值到 实体类上进行使用。

【mainactivity】

 string jsonstr = " { name :\"xqz\", age:21, friends:[\"wzj\",\"cgj\",\"wl\"] }";
        javabean javabean = new gson().fromjson(jsonstr,javabean.class);
        logutils.logi("mainactivity",javabean.getname()+" ,age:"
                +javabean.getage()+",friends:"+javabean.getfriends().toarray());

【结果】

  Android JSON解析插件

 

fastjson

  fastjson是一个java语言编写的高性能的json处理器,由阿里巴巴公司开发。

 implementation 'com.alibaba:fastjson:1.2.59'

 

 string jsonstr = " { name :\"xqz\", age:21, friends:[\"wzj\",\"cgj\",\"wl\"] }";
                javabean javabean =json.parseobject(jsonstr,new javabean);
                logutil.logi("mainactivity",javabean.getname()+" ,age:"
                        +javabean.getage()+",friends:"+javabean.getfriends().toarray());

 

 

gson 和 fastjson

  gson功能更全,解析更加准确,google公司开发。fastjson性能更好,采用独创的算法,阿里巴巴开发。