利用java怎么对json数据进行解析

  介绍

这篇文章给大家介绍利用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}]“;//数组对象反序列化成集合
  
  ListlistPerson=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数据进行解析