java自带json解析,java处理json的jar包
工具包org.json.jar,是一个轻量级的,JAVA下的数据构造和解析工具包,它还包含数据与XML、HTTP头、饼干、CDL的转换。这里推荐使用:阿里巴巴使用是一个数据处理工具包,包括"序列化"和"反序列化"两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json解析器。包括自称最快的杰克森;
推荐课程:Java教程。
写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用
功能强大,完全支持爪哇咖啡豆,集合、地图、日期、枚举,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持安卓;开源(阿帕奇2.0)
源码地址:
https://github.com/alibaba/fastjson
Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在数据类上的静态方法直接完成。
公共静态最终对象解析(字符串文本);//把数据文本从语法上分析为对象或者对象
公共静态最终JSON对象解析对象(字符串文本);//把数据文本从语法上分析成对象
public static final T解析对象(String text,Class clazz);//把数据文本从语法上分析为JavaBean
公共静态最终JSON数组解析数组(字符串文本);//把数据文本从语法上分析成对象
公共静态最终列表分析数组(字符串文本,类clazz);//把数据文本从语法上分析成JavaBean集合
jsonstring的公共静态最终字符串(对象对象);//将JavaBean序列化为数据文本
public static final String toJSONString(Object对象,布尔蛮格式);//将JavaBean序列化为带格式的数据文本
公共静态最终对象到JSON(Object Java Object);将JavaBean转换为对象或者JSONArray。
以上都是一些项目中的常用方法。
以下是自己练习写的代码:
包com .测试
公共类测试人员{
私人年龄;
私有字符串名称;
公共TestPerson(){
}
public TestPerson(int age,String name){
this.age=年龄;
this.name=name
}
public int getAge() {
回归年龄;
}
公共无效存储(整数){
this.age=年龄;
}
公共字符串getName() {
返回名称;
}
公共void集合名称(字符串名){
this.name=name
}
}
包com .测试
导入Java。util。*;
导入com。阿里巴巴。快速JSON。*;
公共最终类TestFastJson {
公共静态void main(String[] args) {
//TODO自动生成的方法存根
测试人员JSON=新测试人员(19,’李明);
listestperson list=new ArrayList test person();
列表。add(JSON);
list.add(新TestPerson(12英尺张三));
//将集合或者对象序例化成数据
系统。出去。println(JSON。tojson(JSON));
系统。出去。println(JSON。tojson(list));
//Json串反序列化成对象
测试人person=JSON。解析对象( { \ name \ :\ 李明\ ,\ 年龄\:19} ,测试人员。类);
System.out.printf(姓名:%s,年龄:%d\n ,person.getName(),person。getage());
String str=[{\name\:\ 李明\ ,\ 年龄\:19},{\ 姓名\:\ 张三\ ,\ age \ :12 }];
//数组对象反序列化成集合
listestperson list person=JSON。解析数组(字符串,测试人员。类);
对于(测试人员项目:listPerson){
系统。出去。println(项目。getname());
系统。出去。println(项目。getage());
}
//没有对象直接解析数据对象
JSON对象jobj=JSON。解析对象( { \ name \ :\ 李明\ ,\ 年龄\ :19 } );
System.out.printf(name:%s,age:%d\n ,jobj.getString(name ),jobj。get big integer( age );
//没有对象直接解析数据数组
JSON数组jarr=JSON。分析数组([{ \ name \ :\ 李明\ ,\ 年龄\:19},{\ 姓名\:\ 张三\ ,\ age \ :12 }]);
for(int i=0,len=jarr。size();ileni ){
JSON对象temp=jarr。getjson对象(I);
System.out.printf(name:%s,age:%d\n ,temp.getString(name ),temp。get big integer( age );
}
for(Object obj:jarr){
系统。出去。println(obj。tostring());
}
}
}以上就是爪哇岛解析数据用什么包的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。