import java.util.List;

 import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference; public class FastJSONHelper { /**
* 将java类型的对象转换为JSON格式的字符串
* @param object java类型的对象
* @return JSON格式的字符串
*/
public static <T> String serialize(T object) {
return JSON.toJSONString(object);
} /**
* 将JSON格式的字符串转换为java类型的对象或者java数组类型的对象,不包括java集合类型
* @param json JSON格式的字符串
* @param clz java类型或者java数组类型,不包括java集合类型
* @return java类型的对象或者java数组类型的对象,不包括java集合类型的对象
*/
public static <T> T deserialize(String json, Class<T> clz) {
return JSON.parseObject(json, clz);
} /**
* 将JSON格式的字符串转换为List<T>类型的对象
* @param json JSON格式的字符串
* @param clz 指定泛型集合里面的T类型
* @return List<T>类型的对象
*/
public static <T> List<T> deserializeList(String json, Class<T> clz) {
return JSON.parseArray(json, clz);
} /**
* 将JSON格式的字符串转换成任意Java类型的对象
* @param json JSON格式的字符串
* @param type 任意Java类型
* @return 任意Java类型的对象
*/
public static <T> T deserializeAny(String json, TypeReference<T> type) {
return JSON.parseObject(json, type);
} }
 public class Person {
private int Age;
private String Name;
public int getAge() {
return Age;
}
public void setAge(int age) {
Age = age;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
}
 public class Program1 {

     /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person person = new Person();
person.setAge(32);
person.setName("wangyunpeng");
String json = FastJSONHelper.serialize(person);
System.out.println(json); person = FastJSONHelper.deserialize(json, Person.class);
System.out.println(String.format("Name:%s,Age:%s",person.getName(),person.getAge()));
} }
 import java.util.ArrayList;

 public class Program2 {

     /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub ArrayList<Person> list = new ArrayList<Person>();
Person person1 = new Person();
person1.setAge(32);
person1.setName("wangyunpeng");
list.add(person1);
Person person2 = new Person();
person2.setAge(17);
person2.setName("shyx");
list.add(person2);
String json = FastJSONHelper.serialize(list);
System.out.println(json); Person[] persons = FastJSONHelper.deserialize(json, Person[].class);
for (Person person : persons) {
System.out.println(String.format("Name:%s,Age:%s", person.getName(),person.getAge()));
}
}
}
 import java.util.ArrayList;
import java.util.List; public class Program3 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Person> list = new ArrayList<Person>();
Person person1 = new Person();
person1.setAge(32);
person1.setName("wangyunpeng");
list.add(person1);
Person person2 = new Person();
person2.setAge(17);
person2.setName("shyx");
list.add(person2);
String json = FastJSONHelper.serialize(list);
System.out.println(json); List<Person> personList = FastJSONHelper.deserializeList(json, Person.class);
for (Person person : personList) {
System.out.println(String.format("Name:%s,Age:%s", person.getName(),person.getAge()));
}
} }
 import java.util.ArrayList;
import java.util.List; public class Program4 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> list = new ArrayList<String>();
list.add("wyp");
list.add("shyx");
String json = FastJSONHelper.serialize(list);
System.out.println(json);
list = FastJSONHelper.deserializeList(json, String.class);
for (String string : list) {
System.out.println(string);
}
}
}
 import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; public class Program5 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("key1", "value1");
map.put("key2", "value2"); HashMap<String, Object> map2 = new HashMap<String, Object>();
map2.put("key1", 1);
map2.put("key2", 2); HashMap<String, Object> map3 = new HashMap<String, Object>();
Person person1 = new Person();
person1.setAge(32);
person1.setName("wangyunpeng");
map3.put("wyp", person1);
Person person2 = new Person();
person2.setAge(17);
person2.setName("shenyunxiao");
map3.put("shyx", person2); List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
list.add(map);
list.add(map2);
list.add(map3); String json = FastJSONHelper.serialize(list);
System.out.println(json); list = FastJSONHelper.deserializeAny(json,
new TypeReference<List<HashMap<String, Object>>>() {
});
for (HashMap<String, Object> item : list) {
for (Map.Entry<String, Object> entry : item.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if (value instanceof JSONObject) {
JSONObject jObj = (JSONObject) value;
String json2 = FastJSONHelper.serialize(jObj);
Person other = FastJSONHelper.deserialize(json2, Person.class);
System.out.println(String.format(
"Key:%s,Value:[Name:%s,Age:%s]", key,
other.getName(), other.getAge()));
} else {
System.out.println(String.format("Key:%s,Value:%s", key,
value));
}
}
} } }

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. Snail—Hibernate反向生成实体类及配置文件

    今天学习了Hibernate的反向生成类文件 第一步.打开myeclipse中的database视图,找到对应的表,选中后右键单击. watermark/2/text/aHR0cDovL2Jsb2cu ...

  2. Chain of Responsibility 责任链模式 MD

    责任链模式 简介 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链,请求在这个链上[传递],直到链上的某一个对象决定处理此请求.发出这个请求的客户 ...

  3. android 多线程概述

    android多线程,一直是一个麻烦的事情,要掌握它的本质,我们需要搞清楚一个问题,linux多线程的本质. 我们这篇文章,来讨论以下的议程: 了解linux的历程,了解android的异步任务机制, ...

  4. Redis自学笔记 --string类型

    string类型                                                                                  set 赋值 get ...

  5. 默认网关和默认路由 —— Cisco CCNA – Default Gateway & Default Routes

    原文:https://www.certificationkits.com/cisco-certification/ccna-articles/cisco-ccna-intro-to-routing-b ...

  6. 软件project(一)——宏观总结

    曾经看视频,看过去就忘.不想再这样子下去了,所以总结了好久.想让自己忘不了.这个过程花费时间有点长,可是假设让自己忘不了.一切都值了. 以下先来一张导图来总结一下<软件project>这门 ...

  7. Jmeter-Maven-Plugin高级应用:Modifying Properties

    Modifying Properties Pages 12 Home Adding additional libraries to the classpath Advanced Configurati ...

  8. css样式记录

    样式一 #sideBar,#blog_post_info_block { display: none; } #under_post_news { display: none; } /*评论框大小*/ ...

  9. 免费的HTML模板引导 - lonely

    ​在线演示 本地下载 今天和大家分享另一款模板-Lonely.它可以被用在一些个人或者类似简单一些的网站上,动画效果的滚动非常特别!

  10. Codeforces#86D Powerful array(分块暴力)

    Description An array of positive integers a1, a2, ..., an is given. Let us consider its arbitrary su ...