文档章节

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
前天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

InvalidKeyException: Illegal key size

Caused by: java.lang.RuntimeException: java.security.InvalidKeyException: Illegal key size 解决方案:去官方下载JCE无限制权限策略文件。 jdk 5: http://www.oracle.com/technetwork/j......

自由的开源
21分钟前
0
0
JAVA秒杀实现以及优化原理

秒杀与其他业务最大的区别在于:秒杀的瞬间, (1)系统的并发量会非常的大 (2)并发量大的同时,网络的流量也会瞬间变大。 关于(2),最常用的办法就是做页面静态化,也就是常说的前后端分...

小贱是个程序员
25分钟前
1
0
Spring Aop之Advisor解析

在上文Spring Aop之Target Source详解中,我们讲解了Spring是如何通过封装Target Source来达到对最终获取的目标bean进行封装的目的。其中我们讲解到,Spring Aop对目标bean进行代理是通过Ann...

爱宝贝丶
27分钟前
0
0
Java高级工程师面试阿里,阿里云,天猫,菜鸟,涉及到的知识点

前言: 分享 Java高级工程师面试阿里,阿里云,天猫,菜鸟,涉及到的知识点,文章有点长,但比较全面,阅读时间15分钟左右,干货满满。 一、HashMap的那些事 1.1、HashMap的实现原理 1.1.1、...

Java大蜗牛
52分钟前
2
0
nginx模块学习五 expires 浏览器缓存

缓存原理 语法 Syntax: expires [modified] time;expires epoch | max | off;Default: expires off;Context: http,server,location,if in location 例/etc/nginx/conf.d/default.con......

Romanceling
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部