FastjsonTest.java

package demo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.serializer.SerializerFeature; public class FastjsonTest {
public static void main(String[] args) {
User user = new User(1, "张三", new Date());
test1(user);
test2(user);
test3(user);
test4(user);
test5(user);
test6(user);
test7(user);
test8();
}
// 对象转成JSON字符串
private static void test1(User user) {
String s = JSON.toJSONString(user);
print(1,s);
} // 对象转成JSON字符串,格式化日期
private static void test2(User user) {
String s = JSON.toJSONString(user, SerializerFeature.WriteDateUseDateFormat);
print(2,s);
} // 对象转成JSON字符串,指定日期格式化
private static void test3(User user) {
String s = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd HH:mm:ss.SSS");
print(3,s);
} // 对象转成JSON字符串,美化JSON格式
private static void test4(User user) {
String s = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd", SerializerFeature.PrettyFormat);
print(4,s);
} // 对象转成JSON字符串,默认字段值为NULL不获取,可以加上SerializerFeature.WriteMapNullValue获取
private static void test5(User user) {
String s = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd", SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue);
print(5,s);
} // JSON字符串转化成对象
private static void test6(User user) {
String s = JSON.toJSONString(user);
print(6,s);
User user2 = JSON.parseObject(s, User.class);
print(6,user2.toString());
} //JSON转成Map<String, Object>
private static void test7(User user){
String json = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd");
Map<String, Object> map1 = JSON.parseObject(json, new TypeReference<Map<String, Object>>(){});
print(7, map1.toString());
} //JSON转成List<Map>
private static void test8() {
User user1 = new User(1, "张三", new Date());
User user2 = new User(2, "李四", new Date());
List<User> list1 = new ArrayList<User>();
list1.add(user1);
list1.add(user2);
String json = JSON.toJSONString(list1);
List<Map> maplist = JSON.parseArray(json, Map.class);
print(8, maplist.toString());
} private static void print(int method, String info) {
System.out.print("test" + method + "输出:\r\n" + info + "\r\n");
}
}

User.java

package demo;

import java.util.Date;
import java.util.List; public class User {
private Integer id;
private String name;
private Date createDate;
private String password; public User(){
} public User(int id, String name, Date createDate) {
this.id = id;
this.name = name;
this.createDate = createDate;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Date getCreateDate() {
return createDate;
} public void setCreateDate(Date createDate) {
this.createDate = createDate;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} @Override
public String toString() {
return "user [id="+id+",name="+name+",createDate="+createDate+",password="+password+"]";
} }

运行结果:

test1输出:
{"createDate":1564739625396,"id":1,"name":"张三"}
test2输出:
{"createDate":"2019-08-02 17:53:45","id":1,"name":"张三"}
test3输出:
{"createDate":"2019-08-02 17:53:45.396","id":1,"name":"张三"}
test4输出:
{
"createDate":"2019-08-02",
"id":1,
"name":"张三"
}
test5输出:
{
"createDate":"2019-08-02",
"id":1,
"name":"张三",
"password":null
}
test6输出:
{"createDate":1564739625396,"id":1,"name":"张三"}
test6输出:
user [id=1,name=张三,createDate=Fri Aug 02 17:53:45 CST 2019,password=null]
test7输出:
{id=1, name=张三, createDate=2019-08-02}
test8输出:
[{id=1, name=张三, createDate=1564739625490}, {id=2, name=李四, createDate=1564739625490}]

FastJSON使用例子的更多相关文章

  1. alibaba架包FastJson使用例子

    alibaba的架包FastJson可以对json字符串进行快捷的类型转换.下面是一些各种类型转换的使用例子. 一.下载FastJson的架包,并导入项目中,如下: Maven项目pom.xml配置如 ...

  2. FastJSON 使用

    FastJSON是一个Java语言编写的高性能,功能完善,完全支持http://json.org的标准的JSON库.多了不说了,百度一下一大把. 在此,简单的总结一下自己用过,测试过的方法. 如果使用 ...

  3. 基于STSdb和fastJson的磁盘/内存缓存

    更新 1. 增加了对批量处理的支持,写操作速度提升5倍,读操作提升100倍 2. 增加了对并发的支持 需求 业务系统用的是数据库,数据量大,部分只读或相对稳定业务查询复杂,每次页面加载都要花耗不少时间 ...

  4. springmvc整合fastjson

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  5. [转]fastjson常见问题

    转自fastjson wiki说明文档:https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 1. ...

  6. alibaba的FastJson(高性能JSON开发包),fastjson 使用demo

    这是关于FastJson的一个使用Demo,在Java环境下验证的 class User{ private int id; private String name; public int getId( ...

  7. 阿里巴巴Json工具-Fastjson讲解

    Fastjson是阿里巴巴公司开源的速度最快的Json和对象转换工具,一个Java语言编写的JSON处理器. 1.遵循http://json.org标准,为其官方网站收录的参考实现之一.2.功能qia ...

  8. Gson 和 FastJson 性能测试

    使用版本: compile 'com.google.code.gson:gson:2.7' compile 'com.alibaba:fastjson:1.2.17' 评测样板为一个People数组, ...

  9. FastJSON 简介及其Map/JSON/String 互转

    在日志解析,前后端数据传输交互中,经常会遇到 String 与 map.json.xml 等格式相互转换与解析的场景,其中 json 基本成为了跨语言.跨前后端的事实上的标准数据交互格式.应该来说各个 ...

随机推荐

  1. javascript 模块化开发(一)

    什么是模块化 将一组模块(及其依赖项)以正确的顺序拼接到一个文件(或一组文件)中的过程. 传统的模块化做法. 模块是实现特定功能的一组属性和方法的封装. 将模块写成一个对象,所有的模块成员都放到这个对 ...

  2. 微信小程序跳转传参参数丢失?

    垂死病中惊坐起,笑问 Bug 何处来?! 1.先是大写字母作祟 前两天发布了「柒留言」v2.0.0 新版本,结果...你懂的嘛,没有 Bug 的程序不是好程序,写不出 Bug 的程序员不是好程序员. ...

  3. arcgis api 4.x for js 集成 Echarts4 实现模拟迁徙图效果(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 4.x for js:esri 官网 api,里面详细的介绍 arcgis api 4.x 各个类 ...

  4. automaticallyAdjustsScrollViewInsets

    参考链接: https://www.jianshu.com/p/a1987a7c11ba

  5. 记一次微信小程序的开发

    使用工具: 1.微信Web开发者工具 2.Visual Studio 2019 前端采用color UI,后端采用c# .net 过程中的几个重点点记录 1.color UI使用 下载colorUI以 ...

  6. [20191101]完善vim的bccalc插件8.txt

    [20191101]完善vim的bccalc插件8.txt --//今天移植bccalc插件到linux,发现一些问题.我自己已经在windows下使用一段时间,从来没有在linux下测试.看来很少人 ...

  7. 小程序开发技术总结(wepy)

    创建wepy项目 全局安装或更新WePY命令行工具:npm install wepy-cli -g 在开发目录中生成Demo开发项目:wepy new myproject , 1.7.0之后的版本使用 ...

  8. RAC_多路径配置

    多路径配置 http://blog.itpub.net/31397003/viewspace-2143390/ 挂盘/配置好yum源 2.程序包的安装 device-mapper-1.02.95-2. ...

  9. 浅谈python之利用pandas和openpyxl读取excel数据

    在自学到接口自动化测试时, 发现要从excel中读取测试用例的数据, 假如我的数据是这样的: 最好是每行数据对应着一条测试用例, 为方便取值, 我选择使用pandas库, 先安装 pip instal ...

  10. day90_11_12

    一.路由与正则. 1.当函数中需要参数,而不在路由中匹配的时候需要使用default方法: @app.route('/index/<testreg("\d+"):nid> ...