文档章节

jackson 序列化测试(一)

519617
 519617
发布于 2016/05/12 16:50
字数 205
阅读 49
收藏 0

需要的jar包:jackson-all-x.x.x.jar

示例代码:

package com.test;

import java.io.IOException;
import java.io.Serializable;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;


public class JacksonTest {

	public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {

		ObjectMapper objectMapper = new ObjectMapper();
		//list
//		String teststringlist = objectMapper.writeValueAsString(getList()); 
		//javaBean对象
		objectMapper.getSerializationConfig().setDateFormat((DateFormat) new SimpleDateFormat("yyyy-MM-dd"));//设置时间格式
		String teststringlist = objectMapper.writeValueAsString(new User("zhangsan", "1234",new Date(), getList())); 
		System.out.println(teststringlist);
	}

	public static List<String> getList() {
		List<String> list = new ArrayList<String>();
		list.add("football");
		list.add("hiking");
		list.add("swimming");
		return list;
	}

}

class User implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -7977118347715917038L;
	String username;
	String password;
	Date birthday;
	List<String> hobby;
	
	User(String username, String password, Date birthday, List<String> hobby){
		this.username = username;
		this.password = password;
		this.birthday = birthday;
		this.hobby = hobby;
	}

	public String getUsername() {
		return username;
	}

	public String getPassword() {
		return password;
	}
	
	public Date getBirthday() {
		return birthday;
	}

	public List<String> getHobby() {
		return hobby;
	}
	
}

注意:

如果要将某个类转成Json字符串,则必须要求其属性为public,或者提供public的get()方法。

© 著作权归作者所有

共有 人打赏支持
519617
粉丝 1
博文 51
码字总数 33472
作品 0
东城
Fastjson和Jackson序列化和读取json的性能实测

偶然间看到的阿里出品的Fastjson,网上对这个json包好评如潮,性能胜Jackson10倍。 本人本着眼见为实的想法,自己测试一下两者的性能比较。 POJO对象名字为User,具体代码就不贴了,里面有两...

derekxyz
2014/04/24
0
0
jackson常用注解和spring中的配置

spring默认使用的是jackson处理json的序列化和反序列化,有一些细节和小坑,基于spring4和jackson2.8做一些说明 @JsonIgnore @JsonIgnore是jackson的注解,jackson1版本和2版本没有区别,通常...

肥肥小浣熊
2017/12/01
0
0
各种 Java 的序列化库的性能比较测试结果

免责声明 本次测试专注于 cyclefree 数据结构的编码和解码。一些序列化程序支持循环检测/对象共享,一些序列化程序两种模型都支持,一些序列化程序包括了元数据,一些则没有,有的是跨平台的...

孔小菜
2015/06/02
5K
4
Beetl-JSON 0.9 发布,JSON 个性化序列工具

Beetl-Json 提供了Java对象序列化成json技术。其原理是基于(Location:action)*,功能强大,扩展性强,而体积小,仅仅不到70K。它能允许通过序列化策略(也支持传统的Annotation)来个性化的序列...

闲大赋
2015/05/28
961
12
jackson序列化 属性 get 字段不对应

在jackson序列化对象时,由于其在源码中增加了一个可见性判断,会默认只序列化public修饰的字段和方法,造成一个可能存在的问题是你字段明明是CId,但是自动生成的get方法是getCId的话,jacks...

helplove
08/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
今天
1
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
10
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
3
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
20
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部