Fastjson常用方法
Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。 public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本,boolean参数true能设置格式,false则不能 public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray(和上面方法的区别是返回值是不一样的)
代码演示:
// 实体类转换成json
public static void voToJson() {
UserInfo user = new UserInfo();
user.setName("张三");
user.setCar(null);
user.setLike(new String[] { "吃", "喝" });
// 注意:UserInfo中所有的属性都会显示出来,没有set的以默认值的方式显示(值为null的除外)
String jsonstr = JSON.toJSONString(user);
System.out.println("实体类转json格式字符串 :" + jsonstr);
}
// list集合的转换
public static void listToJson() {
List<UserInfo> list = new ArrayList<UserInfo>();
UserInfo userinfo1 = new UserInfo();
UserInfo userinfo2 = new UserInfo();
userinfo1.setAge(12);
userinfo2.setAge(20);
list.add(userinfo1);
list.add(userinfo2);
String json = JSON.toJSONString(list, true);
System.out.println("List集合转json格式字符串 :" + json);
}
// 字符数组JSON转化为数组
public static void StringArrayToJSON() {
String s = "[{"name":"aa","age":10},{"name":"bb","age":20}]";
List<UserInfo> list = JSON.parseArray(s, UserInfo.class);
for (UserInfo ui:list) {
System.out.println(ui.getName());
}
}
// 复杂数据类型
public static void Complexdata() {
//map集合1
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("username", "zhangsan");
map.put("age", 24);
map.put("sex", "男");
// map集合2
HashMap<String, Object> temp = new HashMap<String, Object>();
temp.put("name", "xiaohong");
temp.put("age", "23");
//map集合2装map集合1中
map.put("girlInfo", temp);
// list集合
List<String> list = new ArrayList<String>();
list.add("爬山");
list.add("骑车");
list.add("旅游");
//map集合1装了List集合
map.put("hobby", list);
String jsonString = JSON.toJSONString(map);
System.out.println("复杂数据类型:" + jsonString);
}
// JSON转成实体类
public static void Deserialization() {
String json = "{"name":"cc","age":24}";
UserInfo userInfo = JSON.parseObject(json, UserInfo.class);
System.out.println("姓名是:" + userInfo.getName() + ", 年龄是:"
+ userInfo.getAge());
}
// 格式化日期
public static void DateFormate() {
Date d = new Date();
System.out.println("时间:" + d);
System.out.println("输出毫秒值:" + JSON.toJSONString(d));
System.out.println("默认格式为:"
+ JSON.toJSONString(d,
SerializerFeature.WriteDateUseDateFormat));
System.out.println("自定义日期:"
+ JSON.toJSONStringWithDateFormat(d, "yyyy-MM-dd",
SerializerFeature.WriteDateUseDateFormat));
}
// Json转为实体
public static void Json2Eetity() {
String json = "{"name":"cc","age":24}";
UserInfo userInfo = JSON.parseObject(json, UserInfo.class);
System.out.println("输出对象的地址:" + userInfo.toString());
System.out.println("输出对象的名字:" + userInfo.getName());
}
- Mybatis高级查询之关联查询
- Mybatis-update - 数据库死锁 - 获取数据库连接池等待
- 使用Apache Server 的ab进行web请求压力测试
- Spring-AOP实践 - 统计访问时间
- mysql创建定时执行存储过程任务
- MongoDB-基础-limit-skip-sort
- MongoDB-基础-条件操作符
- mongodb-基础-update-remove
- Mybatis-mapper-xml-基础
- 2016.06 第一周 群问题分享
- MongoDB - basic
- spring boot启用tomcat ssl
- HTTP status code
- jackson简单使用,对象转json,json转对象,json转list
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ApplicationListener接口实践
- 浅谈vue+element全局loading加载
- LeetCode59|重复N次的元素
- 谈Vue组件的is特性
- 基于日志的回放对比系统设计
- 【收藏向】常用Java排错工具单
- MYSQL数据同步之基于GTID事务数据同步
- 【风险通告】XXL-JOB远程命令执行漏洞
- MySQL8.0特性之redo logging动态开关
- 3分钟短文:Laravel模型集合跟基类真不一样,别混为一谈
- 3分钟短文:Laravel模型一对一一对多关系真的乱吗?
- 3分钟短文:Laravel请求对象方法极多,可不是花拳绣腿
- 3分钟短文:Laravel验证用户输入,不要把啥都存到系统里
- 3分钟短文:Laravel用户自定义命令行简明教程
- 3分钟短文:Laravel命令行参数和可选项分不清?怎么可能!