首页 > 作文

java解析json方法总结

更新时间:2023-04-07 08:45:51 阅读: 评论:0

工具包org.json.jar,是一个轻量级的,java下非师范生考教资的json构造和解析工具包,它还包含json与xml, http h台山景点eaders,小枣 cookies, cdl的转换。

这里推荐使用:阿里巴巴fastjson是一个json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:

速度最快,测试表明,fastjson具有极快的性能,超越任其他的java json parr。包括自称最快的jackjson;

功能强大,完全支持java bean、集合、map、日期、enum,支持范型,支持自省;无依赖,能够直接运行在java 5.0以上版本;支持android;开源 (apache 2.0)

源码地址:

fastjson api入口类是com.alibaba.fastjson.json,常用的序列化操作都可以在json类上的静态方法直接完成。

public static final object par(string text); // 把json文本par为jsonobject或者jsonarray
public static final jsonobject parobject(string text); // 把json文本par成jsonobject
public static final t parobject(string text, class clazz); // 把json文本par为javabean
public static final jsonarray pararray(string text); // 把json文本par成jsonarray
public static final list pararray(string text, class clazz); //把json文本par成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 testplol宝宝erson {  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 tage(int age) {    this.age = age;  }  public string getname() {    return name;  }  public void tname(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.parobject("{\"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.pararray(str,testperson.class);         for(testperson item : listperson){      system.out.println( item.getname() );      system.out.println( item.getage());    }         //没有对象直接解析json对象    jsonobject jobj = json.parobject("{\"name\":\"李明\",\"age\":19}");    system.out.printf("name:%s,age:%d\n",jobj.getstring("name"),jobj.getbiginteger("age"));         //没有对象直接解析json数组    jsonarray jarr = json.pararray("[{\"name\":\"李明\",\"age\":19},{\"name\":\"张三\",\"age\":12}]");         for(int i=0,len=jarr.size();i<len;i++){      jsonobject temp= jarr.getjsonobject(i);      system.out.printf("name:%s,age:%d\n",temp.getstring("name"),temp.getbiginteger("age"));    }         for(object obj:jarr){      system.out.println(obj.tostring());    }       } }

本文发布于:2023-04-07 08:45:50,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/9f30570c04ad88b45df2de18a3f3701a.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:java解析json方法总结.doc

本文 PDF 下载地址:java解析json方法总结.pdf

标签:文本   对象   序列   工具包
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图