您好,欢迎访问一九零五行业门户网

java解析json用什么包

工具包org.json.jar,是一个轻量级的,java下的json构造和解析工具包,它还包含json与xml, http headers, cookies,  cdl的转换。
这里推荐使用:阿里巴巴fastjson是一个json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的java json parser。包括自称最快的jackjson;
推荐课程:java教程。
功能强大,完全支持java bean、集合、map、日期、enum,支持范型,支持自省;无依赖,能够直接运行在java se 5.0以上版本;支持android;开源 (apache 2.0)
源码地址:
https://github.com/alibaba/fastjson
fastjson api入口类是com.alibaba.fastjson.json,常用的序列化操作都可以在json类上的静态方法直接完成。
public static final object parse(string text); // 把json文本parse为jsonobject或者jsonarray 
public static final jsonobject parseobject(string text); // 把json文本parse成jsonobject    
public static final  t parseobject(string text, class clazz); // 把json文本parse为javabean 
public static final jsonarray parsearray(string text); // 把json文本parse成jsonarray 
public static final  list parsearray(string text, class clazz); //把json文本parse成javabean集合 
public static final string tojsonstring(object object); // 将javabean序列化为json文本 
public static final string tojsonstring(object object, boolean prettyformat); // 将javabean序列化为带格式的json文本 
public static final object tojson(object javaobject); 将javabean转换为jsonobject或者jsonarray。
以上都是一些项目中的常用方法。
以下是自己练习写的代码:
package com.test; public class testperson {    private int age;    private string name;         public testperson(){             }         public testperson(int age,string name){        this.age=age;        this.name=name;    }         public int getage() {        return age;    }    public void setage(int age) {        this.age = age;    }    public string getname() {        return name;    }    public void setname(string name) {        this.name = name;    }}   package com.test;import java.util.*; import com.alibaba.fastjson.*; public final class testfastjson {     public static void main(string[] args) {        // todo auto-generated method stub                 testperson json = new testperson(19,李明);        list<testperson> list = new arraylist<testperson>();        list.add(json);        list.add(new testperson(12,张三));        //将集合或者对象序例化成json        system.out.println(json.tojson(json));        system.out.println( json.tojson(list) );        //json串反序列化成对象        testperson person = json.parseobject({\name\:\李明\,\age\:19}, testperson.class);        system.out.printf(name:%s,age:%d\n,person.getname(),person.getage());                 string str = [{\name\:\李明\,\age\:19},{\name\:\张三\,\age\:12}];        //数组对象反序列化成集合        list<testperson> listperson = json.parsearray(str,testperson.class);                 for(testperson item : listperson){            system.out.println( item.getname() );            system.out.println( item.getage());        }                 //没有对象直接解析json对象        jsonobject jobj = json.parseobject({\name\:\李明\,\age\:19});        system.out.printf(name:%s,age:%d\n,jobj.getstring(name),jobj.getbiginteger(age));                 //没有对象直接解析json数组        jsonarray jarr = json.parsearray([{\name\:\李明\,\age\:19},{\name\:\张三\,\age\:12}]);                 for(int i=0,len=jarr.size();i 以上就是java解析json用什么包的详细内容。
其它类似信息

推荐信息