文档章节

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
Beetl-JSON 0.9 发布,JSON 个性化序列工具

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

闲大赋
2015/05/28
1K
12
各种 Java 的序列化库的性能比较测试结果

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

孔小菜
2015/06/02
6.2K
4
jackson序列化 属性 get 字段不对应

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

helplove
08/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

docker快速搭建几个常用的第三方服务

本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch; 如果想学习Java工程化、...

编程SHA
25分钟前
3
0
我的Linux系统九阴真经

在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行业,共享经济等概念的公...

linuxprobe16
33分钟前
10
0
Dubbo标签解析详解

在Spring继承dubbo时,会使用dubbo自定义的标签来定义相关的属性,常见的标签有<dubbo:application/>,<dubbo:registry/>,<dubbo:service/>等。对于这些标签的解析,dubbo都是使用的统一的方...

爱宝贝丶
38分钟前
5
0
网站彩蛋

图形类彩蛋 知乎 https://www.zhihu.com/ 想来知乎工作?请发送邮件到 jobs@zhihu.com 天猫 https://www.tmall.com/ 喵~ 加入我们吧 http://tb.cn/iS8NBOy 超级课程表 http://www.super.cn/...

临江仙卜算子
46分钟前
9
0
ThreadLocal父子线程之间的数据传递问题

一、问题的提出 在系统开发过程中常使用ThreadLocal进行传递日志的RequestId,由此来获取整条请求链路。然而当线程中开启了其他的线程,此时ThreadLocal里面的数据将会出现无法获取/读取错乱...

nonnetta
55分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部