这篇文章给大家介绍利用java怎么对json数据进行解析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
工具包org.json。罐,是一个轻量级的,JAVA下的json构造和解析工具包,它还包含json与XML HTTP头,饼干,CDL的转换。
这里推荐使用:阿里巴巴FastJson是一个json处理工具包,包括”序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,FastJson具有极快的性能,超越任其他的JAVA json解析器。包括自称最快的JackJson;
功能强大,完全支持JAVA Bean,集合,地图,日期,枚举,支持范型,支持自省;无依赖,能够直接运行在JAVA SE 5.0以上版本;支持Android;开源(Apache 2.0)
FastJson API入口类是com.alibaba.fastjson。JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
公共静态最终对象解析文本(字符串);//把JSON文本解析为JSONObject或JSONArray者
引用>
公共静态最终JSONObject parseObject文本(字符串);//把JSON文本解析成JSONObject
公共静态最终T parseObject(字符串文本类clazz);//把JSON文本解析为JavaBean
公共静态最终JSONArray parseArray文本(字符串);//把JSON文本JSONArray解析成
公共静态最终名单parseArray(字符串文本类clazz);//把JSON文本解析成JavaBean集合
公共静态最终字符串toJSONString对象(对象);//将JavaBean序列化为JSON文本
公共静态最终字符串toJSONString(对象对象,布尔prettyFormat);//将JavaBean序列化为带格式的JSON文本
公共静态最终对象toJSON(对象javaObject);将JavaBean转换为JSONObject或JSONArray者。以上都是一些项目中的常用方法。
以下是自己练习写的代码:
包com.test; 公开课TestPerson { 私人int年龄; 私人字符串名称; 公共TestPerson () { } 公共TestPerson (int年龄、字符串名称){ this.age=年龄; this.name=名称; } 公共int getAge () { 返回年龄; } 公共空间setAge (int年龄){ 这一点。年龄=年龄; } 公共字符串getName () { 返回名称; } 公共空间setName(字符串名称){ this.name=名称; } } 包com.test; 进口java.util。*; 进口com.alibaba.fastjson。*; 最后公共类TestFastJson { 公共静态void main (String [] args) {//TODO自动生成方法存根 “TestPerson json=new TestPerson(19日李明“); List列表=new ArrayList (); list.add (json); 列表。添加(新TestPerson(12,“张三“));//将集合或者对象序例化成JSON System.out.println (JSON.toJSON (json)); system . out。println (JSON.toJSON(列表));//Json串反序列化成对象 TestPerson人=JSON.parseObject(“{\“\“名称:\“李明\”,\“\“年龄:19}“,TestPerson.class); System.out.printf(“名字:% s,年龄:% d \ n", person.getName (), person.getAge ()); 字符串str=癧{\“\“名称:\“李明\”,\“\“年龄:19},{\“\“名称:\“张三\”,\“\“年龄:12}]“;//数组对象反序列化成集合 List listPerson=JSON.parseArray (str, TestPerson.class); (TestPerson项目:listPerson) { system . out。println (item.getName ()); system . out。println (item.getAge ()); }//没有对象直接解析JSON对象 JSONObject jobj=JSON.parseObject(“{\“\“名称:\“李明\”,\“\“年龄:19}“); System.out.printf(“名字:% s,年龄:% d \ n", jobj.getString (“name") jobj.getBigInteger (“age"));//没有对象直接解析JSON数组 JSONArray jarr=JSON.parseArray(“[{\“\“名称:\“李明\”,\“\“年龄:19},{\“\“名称:\“张三\”,\“\“年龄:12}]“); for (int i=0, len=jarr.size (); i 利用java怎么对json数据进行解析