fastjson常用使用方法
我们在开发项目时候经常会遇到要解析数组 对象等等,现在已经有fastjson是目前最快的,就尝试下把常用的方法总结下: 在说fastjson之前先说下 序列化和反序列化: 1.Java序列化与反序列化 我们之前在对象流java.io.ObjectOutputStream:用到了对象流,在这个流中就使用的序列化和反序列化; 它的writeObject(Object obj)方法可以对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中。 java.io.ObjectInputStream:表示对象输入流 说明:为了正确读取数据,完成反序列化,必须保证向对象输出流写对象的顺序与从对象输入流中读对象的顺序一致。 总结:
有了上面的简单了解,下面介绍fastjson: 常用的方法: public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
demo:
System.out.println("----------------------------——————————————————————————"); String str = "{"name":"赵六","age":59}"; JSONObject jsonObject = (JSONObject) JSON.parse(str); System.out.printf("name:%s,age:%dn",jsonObject.getString("name"),jsonObject.getBigInteger("age")); JSONObject jsonObject2 = JSON.parSEObject(str); System.out.printf("name:%s,jsonObject2.getString("name"),jsonObject2.getBigInteger("age")); TestPerson t = JSON.parSEObject(str,TestPerson.class); System.out.printf("name:%s,t.getName(),t.getAge()); Map m = JSON.parSEObject(str,Map.class); System.out.println(m.toString()); System.out.printf("name:%s,m.get("name"),m.get("age")); String str2 = "[{"name":"小徐","age":90},{"name":"老李","age":15}]"; JSONArray jarray = (JSONArray)JSON.parse(str2); for(int i = 0;i<jarray.size();i++){ JSONObject jobt = jarray.getJSONObject(i); System.out.printf("---name:%s,jobt.getString("name"),jobt.getBigInteger("age")); } JSONArray jsonarray = JSON.parseArray(str2); for(int i = 0;i<jsonarray.size();i++){ JSONObject jobt = jsonarray.getJSONObject(i); System.out.printf("name:%s,jobt.getBigInteger("age")); } System.out.println(); System.out.println(); String str3 = "[{"name":"小徐2","age":92},{"name":"老李2","age":17}]"; List<TestPerson> list = JSON.parseArray(str3,TestPerson.class); for(int i = 0; i < list.size(); i++){ TestPerson tp = list.get(i); System.out.printf("name:%s,tp.getName(),tp.getAge()); } TestPerson tp = new TestPerson(34,"韩梅梅"); String parseStr = JSON.toJSONString(tp); System.out.println(parseStr); String parseStr2 = JSON.toJSONString(tp,true); System.out.println(parseStr2); JSONObject j2 = (JSONObject) JSON.toJSON(tp); System.out.printf("---name:%s,j2.getString("name"),j2.getBigInteger("age")); 结果是: name:赵六,age:59 name:赵六,age:59 {name=赵六,age=59} name:赵六,age:59 ---name:小徐,age:90 ---name:老李,age:15 name:小徐,age:90 name:老李,age:15 name:小徐2,age:92 name:老李2,age:17 {"age":34,"name":"韩梅梅"} { "age":34,"name":"韩梅梅" } ---name:韩梅梅,age:34 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |