FastJSON使用案例(fastjson-1.1.28.jar)
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)的更多相关文章
- 【fastJSON】利用fastJSON处理循环引用的问题
下载fastJSON jar com.alibaba.fastjson 第一种:[写死的] 将需要序列化的字段传递进去,得到结果 //需要序列化的实体+字段 SimplePropertyPreFi ...
- 【FastJSON】解决FastJson中“$ref 循环引用”的问题
0.开发环境 SSH,EasyUI,MySQL 1.需求要求: (1)首先获取所有的贷款订单数据,即List <LoanOrder>. (2)然后从单个贷款订单实体LoanOrder去访问 ...
- 零基础学习java------29---------网络日志数据session案例,runtime(导出jar程序)
一. 网络日志数据session案例 部分数据 数据中的字段分别为: 访客ip地址,访客访问时间,访客请求的url及协议,网站响应码,网站返回数据量,访客的referral url,访客的客户端操作系 ...
- 04-SSH综合案例:环境搭建之jar包引入
刚才已经把表关系的分析已经分析完了,现在呢就先不去创建这个表,写到哪儿的时候再去创建这个表. 1.4 SSH环境搭建: 1.4.1 第一步:创建一个web项目. 1.4.2 第二步:导入相应jar包. ...
- FastJson处理Map List 对象
Fastjson是一个Java语言编写的高性能功能完善的JSON库. Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发. 1.遵循http://json.org标准,为其官 ...
- Fastjson到了说再见的时候了
生命太短暂,不要去做一些根本没有人想要的东西.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习 ...
- fastjson 混淆注意事项
使用fastjson 注意事项,主要表现: 1.加了符号Annotation 的实体类,一使用就会奔溃 2.当有泛型属性时,一使用就奔溃 在调试的时候不会报错,当你要打包签名混淆包的时候,就会出现上述 ...
- Android总结之json解析(FastJson Gson 对比)
前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...
- Android 中的Json解析工具fastjson 、序列化、反序列化
Android中通常需要访问服务器,然而服务器返回的数据很多时候都是Json格式 1.fastjson简介 阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备 ...
随机推荐
- ELK kibana查询与过滤
在kibana中,可通过搜索查询过滤事务或者在visualization界面点击元素过滤. 创建查询 在Discover界面的搜索栏输入要查询的字段.查询语法是基于Lucene的查询语法.允许布尔运算 ...
- OpenCV 脸部跟踪(1)
本文中的知识来自于Mastering opencv with practical computer vision project一书. 本文实施的脸部跟踪算法都是基于数据驱动的,主要 ...
- russian-doll-envelopes
https://leetcode.com/problems/russian-doll-envelopes/ // Use map (Russian doll number -> vector o ...
- unity 静态合批
想做这样一个优化 因为cmd drawcall太多 materials太多导致 实际上只是贴图不一样 想用texture2DArray把他们合起来 texArray这步功能倒是很快就好了 但是从fra ...
- 关于Java的一些NIO框架的一点想法
闲着有点无聊想写点东西. 问题:生活中工作中,会有人问我javaNIO框架里面 Netty Mina xSocket Grizzly 等等哪个比较好? 在这里写一下自己的感受,也算是总结一下吧 在我 ...
- SQL Server中的database checkpoint
基于性能方面的考虑, 数据库引擎会在内存(buffer cache)中执行数据库数据页(pages)的修改, 不会再每次做完修改之后都把修改了的page写回到磁盘上. 更准确的说, 数据库引擎定期在每 ...
- iOS开发-Interface Builder的前世今生
Interface Builder,是用于苹果公司Mac OS X操作系统的软件开发程序,Xcode套件的一部分,于1988年创立.它的创造者Jean-Marie Hullot自称是“一个热爱旅行.充 ...
- HTTP响应状态码【总结】
常见的状态码 [1XX]表示[消息] [2XX]表示[成功] [3XX]表示[重定向] [4XX]表示[请求错误] [5XX]表示[服务器端错误] 200:OK.请求被正常处理 204:No Cont ...
- 项目加入 TFS报错
新建一个项目,然后在解决方案上右击,选择Add solution to source control的时候,总是失败,output窗口中出现的错误信息如下: An error was raised ...
- PCL系列——怎样逐渐地配准一对点云
欢迎訪问 博客新址 PCL系列 PCL系列--读入PCD格式文件操作 PCL系列--将点云数据写入PCD格式文件 PCL系列--拼接两个点云 PCL系列--从深度图像(RangeImage)中提取NA ...