1. import java.util.List;
  2.  
  3. import com.alibaba.fastjson.JSON;
  4. import com.alibaba.fastjson.TypeReference;
  5.  
  6. public class FastJSONHelper {
  7.  
  8. /**
  9. * 将java类型的对象转换为JSON格式的字符串
  10. * @param object java类型的对象
  11. * @return JSON格式的字符串
  12. */
  13. public static <T> String serialize(T object) {
  14. return JSON.toJSONString(object);
  15. }
  16.  
  17. /**
  18. * 将JSON格式的字符串转换为java类型的对象或者java数组类型的对象,不包括java集合类型
  19. * @param json JSON格式的字符串
  20. * @param clz java类型或者java数组类型,不包括java集合类型
  21. * @return java类型的对象或者java数组类型的对象,不包括java集合类型的对象
  22. */
  23. public static <T> T deserialize(String json, Class<T> clz) {
  24. return JSON.parseObject(json, clz);
  25. }
  26.  
  27. /**
  28. * 将JSON格式的字符串转换为List<T>类型的对象
  29. * @param json JSON格式的字符串
  30. * @param clz 指定泛型集合里面的T类型
  31. * @return List<T>类型的对象
  32. */
  33. public static <T> List<T> deserializeList(String json, Class<T> clz) {
  34. return JSON.parseArray(json, clz);
  35. }
  36.  
  37. /**
  38. * 将JSON格式的字符串转换成任意Java类型的对象
  39. * @param json JSON格式的字符串
  40. * @param type 任意Java类型
  41. * @return 任意Java类型的对象
  42. */
  43. public static <T> T deserializeAny(String json, TypeReference<T> type) {
  44. return JSON.parseObject(json, type);
  45. }
  46.  
  47. }
  1. public class Person {
  2. private int Age;
  3. private String Name;
  4. public int getAge() {
  5. return Age;
  6. }
  7. public void setAge(int age) {
  8. Age = age;
  9. }
  10. public String getName() {
  11. return Name;
  12. }
  13. public void setName(String name) {
  14. Name = name;
  15. }
  16. }
  1. public class Program1 {
  2.  
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. // TODO Auto-generated method stub
  8. Person person = new Person();
  9. person.setAge(32);
  10. person.setName("wangyunpeng");
  11. String json = FastJSONHelper.serialize(person);
  12. System.out.println(json);
  13.  
  14. person = FastJSONHelper.deserialize(json, Person.class);
  15. System.out.println(String.format("Name:%s,Age:%s",person.getName(),person.getAge()));
  16. }
  17.  
  18. }
  1. import java.util.ArrayList;
  2.  
  3. public class Program2 {
  4.  
  5. /**
  6. * @param args
  7. */
  8. public static void main(String[] args) {
  9. // TODO Auto-generated method stub
  10.  
  11. ArrayList<Person> list = new ArrayList<Person>();
  12. Person person1 = new Person();
  13. person1.setAge(32);
  14. person1.setName("wangyunpeng");
  15. list.add(person1);
  16. Person person2 = new Person();
  17. person2.setAge(17);
  18. person2.setName("shyx");
  19. list.add(person2);
  20. String json = FastJSONHelper.serialize(list);
  21. System.out.println(json);
  22.  
  23. Person[] persons = FastJSONHelper.deserialize(json, Person[].class);
  24. for (Person person : persons) {
  25. System.out.println(String.format("Name:%s,Age:%s", person.getName(),person.getAge()));
  26. }
  27. }
  28. }
  1. import java.util.ArrayList;
  2. import java.util.List;
  3.  
  4. public class Program3 {
  5.  
  6. /**
  7. * @param args
  8. */
  9. public static void main(String[] args) {
  10. // TODO Auto-generated method stub
  11. ArrayList<Person> list = new ArrayList<Person>();
  12. Person person1 = new Person();
  13. person1.setAge(32);
  14. person1.setName("wangyunpeng");
  15. list.add(person1);
  16. Person person2 = new Person();
  17. person2.setAge(17);
  18. person2.setName("shyx");
  19. list.add(person2);
  20. String json = FastJSONHelper.serialize(list);
  21. System.out.println(json);
  22.  
  23. List<Person> personList = FastJSONHelper.deserializeList(json, Person.class);
  24. for (Person person : personList) {
  25. System.out.println(String.format("Name:%s,Age:%s", person.getName(),person.getAge()));
  26. }
  27. }
  28.  
  29. }
  1. import java.util.ArrayList;
  2. import java.util.List;
  3.  
  4. public class Program4 {
  5.  
  6. /**
  7. * @param args
  8. */
  9. public static void main(String[] args) {
  10. // TODO Auto-generated method stub
  11. List<String> list = new ArrayList<String>();
  12. list.add("wyp");
  13. list.add("shyx");
  14. String json = FastJSONHelper.serialize(list);
  15. System.out.println(json);
  16. list = FastJSONHelper.deserializeList(json, String.class);
  17. for (String string : list) {
  18. System.out.println(string);
  19. }
  20. }
  21. }
  1. import java.util.ArrayList;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5.  
  6. import com.alibaba.fastjson.JSONObject;
  7. import com.alibaba.fastjson.TypeReference;
  8.  
  9. public class Program5 {
  10.  
  11. /**
  12. * @param args
  13. */
  14. public static void main(String[] args) {
  15. // TODO Auto-generated method stub
  16. HashMap<String, Object> map = new HashMap<String, Object>();
  17. map.put("key1", "value1");
  18. map.put("key2", "value2");
  19.  
  20. HashMap<String, Object> map2 = new HashMap<String, Object>();
  21. map2.put("key1", 1);
  22. map2.put("key2", 2);
  23.  
  24. HashMap<String, Object> map3 = new HashMap<String, Object>();
  25. Person person1 = new Person();
  26. person1.setAge(32);
  27. person1.setName("wangyunpeng");
  28. map3.put("wyp", person1);
  29. Person person2 = new Person();
  30. person2.setAge(17);
  31. person2.setName("shenyunxiao");
  32. map3.put("shyx", person2);
  33.  
  34. List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
  35. list.add(map);
  36. list.add(map2);
  37. list.add(map3);
  38.  
  39. String json = FastJSONHelper.serialize(list);
  40. System.out.println(json);
  41.  
  42. list = FastJSONHelper.deserializeAny(json,
  43. new TypeReference<List<HashMap<String, Object>>>() {
  44. });
  45. for (HashMap<String, Object> item : list) {
  46. for (Map.Entry<String, Object> entry : item.entrySet()) {
  47. String key = entry.getKey();
  48. Object value = entry.getValue();
  49. if (value instanceof JSONObject) {
  50. JSONObject jObj = (JSONObject) value;
  51. String json2 = FastJSONHelper.serialize(jObj);
  52. Person other = FastJSONHelper.deserialize(json2, Person.class);
  53. System.out.println(String.format(
  54. "Key:%s,Value:[Name:%s,Age:%s]", key,
  55. other.getName(), other.getAge()));
  56. } else {
  57. System.out.println(String.format("Key:%s,Value:%s", key,
  58. value));
  59. }
  60. }
  61. }
  62.  
  63. }
  64.  
  65. }

FastJSON使用案例(fastjson-1.1.28.jar)的更多相关文章

  1. 【fastJSON】利用fastJSON处理循环引用的问题

    下载fastJSON jar   com.alibaba.fastjson 第一种:[写死的] 将需要序列化的字段传递进去,得到结果 //需要序列化的实体+字段 SimplePropertyPreFi ...

  2. 【FastJSON】解决FastJson中“$ref 循环引用”的问题

    0.开发环境 SSH,EasyUI,MySQL 1.需求要求: (1)首先获取所有的贷款订单数据,即List <LoanOrder>. (2)然后从单个贷款订单实体LoanOrder去访问 ...

  3. 零基础学习java------29---------网络日志数据session案例,runtime(导出jar程序)

    一. 网络日志数据session案例 部分数据 数据中的字段分别为: 访客ip地址,访客访问时间,访客请求的url及协议,网站响应码,网站返回数据量,访客的referral url,访客的客户端操作系 ...

  4. 04-SSH综合案例:环境搭建之jar包引入

    刚才已经把表关系的分析已经分析完了,现在呢就先不去创建这个表,写到哪儿的时候再去创建这个表. 1.4 SSH环境搭建: 1.4.1 第一步:创建一个web项目. 1.4.2 第二步:导入相应jar包. ...

  5. FastJson处理Map List 对象

     Fastjson是一个Java语言编写的高性能功能完善的JSON库. Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发. 1.遵循http://json.org标准,为其官 ...

  6. Fastjson到了说再见的时候了

    生命太短暂,不要去做一些根本没有人想要的东西.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习 ...

  7. fastjson 混淆注意事项

    使用fastjson 注意事项,主要表现: 1.加了符号Annotation 的实体类,一使用就会奔溃 2.当有泛型属性时,一使用就奔溃 在调试的时候不会报错,当你要打包签名混淆包的时候,就会出现上述 ...

  8. Android总结之json解析(FastJson Gson 对比)

    前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...

  9. Android 中的Json解析工具fastjson 、序列化、反序列化

    Android中通常需要访问服务器,然而服务器返回的数据很多时候都是Json格式 1.fastjson简介 阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备 ...

随机推荐

  1. GUI程序设计

    1. 对话框(JDialog)使用示例 例1. JDialog简单使用示例. import javax.swing.JLabel; public class demoJDialog { JFrame ...

  2. Android数据存储之SQLite

    SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,占用资源非常少,只有几百KB内存.支持Windows/Linux ...

  3. 使用WPF来创建 Metro UI

    当我第一次运行Zune时,我为这些美丽的UI所折服.当时就说这肯定不是用WPF做的,因为这些字体是如此的清晰而且UI反映的也非常快速..而且我从维基百科上也了解到Zune的第一个版本是2006年发布的 ...

  4. PHP基本的语法的小结

    一.PHP能做什么? PHP能做什么?我认为它非常强大,仅仅要我能想到的,它都能做,仅仅是我技术能力还不行╮(╯﹏╰)╭.好吧,一张图.基本了解一下吧(ps:PHP的功能不局限于此( ^_^ )) 图 ...

  5. 老三星手机i9001刷机记录

    家里的老的三星i9001,准备给我妈用,打算刷机,但又实在头疼那些复杂的刷机技术,昨天研究了一下,用比较简单的方法完成刷机,记录如下: 用卡刷比较简单,线刷不考虑 进入恢复模式的方法:1.电源+音量加 ...

  6. Excel只能输入不许修改

        昨天出差,用户有个需求:需要他人录入数据,为了防止已经录入的数据被修改(录入数据由多方完成),必须限定只能输入,不能修改(修改时需要密码),最开始的方案是各设置一个密码,但如果他们相互之间联合 ...

  7. ZH奶酪:【阅读笔记】Deep Learning, NLP, and Representations

    中文译文:深度学习.自然语言处理和表征方法 http://blog.jobbole.com/77709/ 英文原文:Deep Learning, NLP, and Representations ht ...

  8. H面试(23):求子数组最大和

    题目描述: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 例如输入的数组为1, -2 ...

  9. Java从零开始学三十二(正则表达式)

    一.为什么要有正则 正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证.拆份.替换功能. 例如:现在要求判断一个字符串是否由数字组成,则可以有以下的两种做法: 不使用正则完成 使用正则完 ...

  10. SpingBoot:Unregistering JMX-exposed beans on shutdown

    运行之后控制台输出“Unregistering JMX-exposed beans on shutdown”原因为:SpringBoot内置Tomcat没有正常启动,加入spring-boot-sta ...