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处理工具包,包括“序列化”和“反序列化”两部分,它具备 ...
随机推荐
- GUI程序设计
1. 对话框(JDialog)使用示例 例1. JDialog简单使用示例. import javax.swing.JLabel; public class demoJDialog { JFrame ...
- Android数据存储之SQLite
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,占用资源非常少,只有几百KB内存.支持Windows/Linux ...
- 使用WPF来创建 Metro UI
当我第一次运行Zune时,我为这些美丽的UI所折服.当时就说这肯定不是用WPF做的,因为这些字体是如此的清晰而且UI反映的也非常快速..而且我从维基百科上也了解到Zune的第一个版本是2006年发布的 ...
- PHP基本的语法的小结
一.PHP能做什么? PHP能做什么?我认为它非常强大,仅仅要我能想到的,它都能做,仅仅是我技术能力还不行╮(╯﹏╰)╭.好吧,一张图.基本了解一下吧(ps:PHP的功能不局限于此( ^_^ )) 图 ...
- 老三星手机i9001刷机记录
家里的老的三星i9001,准备给我妈用,打算刷机,但又实在头疼那些复杂的刷机技术,昨天研究了一下,用比较简单的方法完成刷机,记录如下: 用卡刷比较简单,线刷不考虑 进入恢复模式的方法:1.电源+音量加 ...
- Excel只能输入不许修改
昨天出差,用户有个需求:需要他人录入数据,为了防止已经录入的数据被修改(录入数据由多方完成),必须限定只能输入,不能修改(修改时需要密码),最开始的方案是各设置一个密码,但如果他们相互之间联合 ...
- ZH奶酪:【阅读笔记】Deep Learning, NLP, and Representations
中文译文:深度学习.自然语言处理和表征方法 http://blog.jobbole.com/77709/ 英文原文:Deep Learning, NLP, and Representations ht ...
- H面试(23):求子数组最大和
题目描述: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 例如输入的数组为1, -2 ...
- Java从零开始学三十二(正则表达式)
一.为什么要有正则 正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证.拆份.替换功能. 例如:现在要求判断一个字符串是否由数字组成,则可以有以下的两种做法: 不使用正则完成 使用正则完 ...
- SpingBoot:Unregistering JMX-exposed beans on shutdown
运行之后控制台输出“Unregistering JMX-exposed beans on shutdown”原因为:SpringBoot内置Tomcat没有正常启动,加入spring-boot-sta ...