- 浏览: 107369 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (134)
- java (134)
- [转]sqlserver 数据类型 及使用考虑 (1)
- 保存、读取、删除到sdcard图片 (1)
- hashcode 重写 (1)
- sql2008导出数据 (1)
- Android开发(1):随机绘制彩色实心圆 (1)
- JPA 应用技巧 1:实体类和实体 DAO 模板 (1)
- 狩魂之神即将开测 - 2012年最值得期待的网页游戏 (1)
- mantis (1)
- MediaWiki (1)
- ExtMail (1)
- MDaemon搭建公司项目环境 (1)
- NIO 之 选择就绪模式 (1)
- web应用系统架构设计 (1)
- XML CDATA (1)
- firefox+Firebug调试JavaScript、HTML和CSS (1)
- 在SUSE 11中安装Windows虚拟机 (1)
- 将字节流(byte[])转换成文件 (1)
- HTML5网站 (1)
- 在Android中自定义IOS风格的按钮 (1)
- 基于SVG的WebGIS的一个雏形 (1)
- 程序名称DreamIT(梦想IT)提供许多IT公司的面试和笔试试题 (1)
- 介绍一个ASP.NET开发工具Web Matrix (1)
- C#信息采集工具实现 (1)
- Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布 (1)
- 2011面试题目之猴子偷桃 (1)
- Linux tar压缩时排除某个目录或文件的参数 (1)
- Crack JRebel 4.0,无需重启JVM,热部署解决方案 (1)
- Groovy Sql使用Spring的事务管理 (1)
- <<让oracle跑的更快1>>读书笔记2 (1)
- 不要再浪费时间 (1)
- JSP (1)
- PHP (1)
- Python (1)
- Ruby (1)
- Perl概要及各自特点 (1)
- JVM 内存结构(转) (1)
- [转载]JPA 批注参考(1) (1)
- Hadoop配置部分内容 (1)
- HD2刷机的基础知识 HD2的radio、HSPL、ROM三种组合 (1)
最新评论
-
alexyao8:
顶起
[G4Studio开源平台]如何搭建G4开发环境 -
greatghoul:
太二了。
不要再浪费时间 -
wengbo316:
它们一定是花果山的猴子,数数能数到3K多呢。。。
2011面试题目之猴子偷桃 -
mycar:
额.待补充...........
保存、读取、删除到sdcard图片 -
沙舟狼客:
这太折磨人了, 还有人要看吗?
[] javaeye rss抓取
利用jackson中的objectmapper对象,转为对象为json字符串,springside对jackson的简单封装 jsonbinder :
在其他类中定义jsonbinder对象:
以下是对象到json字符串以及json字符串到对象的转化:
在我的实际项目中,遇到一个有意思的问题,我把一个对象转为为json字符串时,调用binder.tojson(bean) ,这个方法,方法总是返回null,后面发现该bean中没有默认的构造函数,加上某人构造函数就ok了。
public class jsonbinder { private static logger logger = loggerfactory.getlogger(jsonbinder.class); private objectmapper mapper; public jsonbinder(inclusion inclusion) { mapper = new objectmapper(); //设置输出包含的属性 mapper.getserializationconfig().setserializationinclusion(inclusion); //设置输入时忽略json字符串中存在而java对象实际没有的属性 mapper.getdeserializationconfig().set( org.codehaus.jackson.map.deserializationconfig.feature.fail_on_unknown_properties, false); } /** * 创建输出全部属性到json字符串的binder. */ public static jsonbinder buildnormalbinder() { return new jsonbinder(inclusion.always); } /** * 创建只输出非空属性到json字符串的binder. */ public static jsonbinder buildnonnullbinder() { return new jsonbinder(inclusion.non_null); } /** * 创建只输出初始值被改变的属性到json字符串的binder. */ public static jsonbinder buildnondefaultbinder() { return new jsonbinder(inclusion.non_default); } /** * 如果json字符串为null或"null"字符串,返回null. * 如果json字符串为"[]",返回空集合. * * 如需读取集合如list/map,且不是list<string>这种简单类型时使用如下语句: * list<mybean> beanlist = binder.getmapper().readvalue(liststring, new typereference<list<mybean>>() {}); */ public <t> t fromjson(string jsonstring, class<t> clazz) { if (stringutils.isempty(jsonstring)) { return null; } try { return mapper.readvalue(jsonstring, clazz); } catch (ioexception e) { logger.warn("parse json string error:" + jsonstring, e); return null; } } /** * 如果对象为null,返回"null". * 如果集合为空集合,返回"[]". */ public string tojson(object object) { try { return mapper.writevalueasstring(object); } catch (ioexception e) { logger.warn("write to json string error:" + object, e); return null; } } /** * 设置转换日期类型的format pattern,如果不设置默认打印timestamp毫秒数. */ public void setdateformat(string pattern) { if (stringutils.isnotblank(pattern)) { dateformat df = new simpledateformat(pattern); mapper.getserializationconfig().setdateformat(df); mapper.getdeserializationconfig().setdateformat(df); } } /** * 取出mapper做进一步的设置或使用其他序列化api. */ public objectmapper getmapper() { return mapper; }}
在其他类中定义jsonbinder对象:
private static jsonbinder binder = jsonbinder.buildnondefaultbinder();
以下是对象到json字符串以及json字符串到对象的转化:
/** * 序列化对象/集合到json字符串. */ @test public void tojson() throws exception { //bean testbean bean = new testbean("a"); string beanstring = binder.tojson(bean); system.out.println("bean:" + beanstring); assertequals("{\"name\":\"a\"}", beanstring); //map map<string, object> map = maps.newlinkedhashmap(); map.put("name", "a"); map.put("age", 2); string mapstring = binder.tojson(map); system.out.println("map:" + mapstring); assertequals("{\"name\":\"a\",\"age\":2}", mapstring); //list<string> list<string> stringlist = lists.newarraylist("a", "b", "c"); string liststring = binder.tojson(stringlist); system.out.println("string list:" + liststring); assertequals("[\"a\",\"b\",\"c\"]", liststring); //list<bean> list<testbean> beanlist = lists.newarraylist(new testbean("a"), new testbean("b")); string beanliststring = binder.tojson(beanlist); system.out.println("bean list:" + beanliststring); assertequals("[{\"name\":\"a\"},{\"name\":\"b\"}]", beanliststring); //bean[] testbean[] beanarray = new testbean[] { new testbean("a"), new testbean("b") }; string beanarraystring = binder.tojson(beanarray); system.out.println("array list:" + beanarraystring); assertequals("[{\"name\":\"a\"},{\"name\":\"b\"}]", beanarraystring); } /** * 从json字符串反序列化对象/集合. */ @test @suppresswarnings("unchecked") public void fromjson() throws exception { //bean string beanstring = "{\"name\":\"a\"}"; testbean bean = binder.fromjson(beanstring, testbean.class); system.out.println("bean:" + bean); //map string mapstring = "{\"name\":\"a\",\"age\":2}"; map<string, object> map = binder.fromjson(mapstring, hashmap.class); system.out.println("map:"); for (entry<string, object> entry : map.entryset()) { system.out.println(entry.getkey() + " " + entry.getvalue()); } //list<string> string liststring = "[\"a\",\"b\",\"c\"]"; list<string> stringlist = binder.getmapper().readvalue(liststring, list.class); system.out.println("string list:"); for (string element : stringlist) { system.out.println(element); } //list<bean> string beanliststring = "[{\"name\":\"a\"},{\"name\":\"b\"}]"; list<testbean> beanlist = binder.getmapper().readvalue(beanliststring, new typereference<list<testbean>>() { }); system.out.println("bean list:"); for (testbean element : beanlist) { system.out.println(element); } }
在我的实际项目中,遇到一个有意思的问题,我把一个对象转为为json字符串时,调用binder.tojson(bean) ,这个方法,方法总是返回null,后面发现该bean中没有默认的构造函数,加上某人构造函数就ok了。
发表评论
-
HD2刷机的基础知识 HD2的radio、HSPL、ROM三种组合
2012-02-07 15:13 1043今天看着教程刚刷了台HD2,觉得有用的文章顺便转载过来 ... -
Hadoop配置部分内容
2012-02-04 15:29 703[size=medium;]Hadoop配置部分内容[ ... -
[转载]JPA 批注参考(1)
2012-02-04 11:39 692作为 Java 企业版 5 ... -
JVM 内存结构(转)
2012-02-03 14:49 856http://www.4ucode.com/Study ... -
JSP,PHP,Python,Ruby,Perl概要及各自特点
2012-01-31 15:18 952互联网技术日新月异,编程的语言层出不穷,原本稍微平静了 ... -
不要再浪费时间
2012-01-31 15:08 852不要再浪费时间 &l ... -
<<让oracle跑的更快1>>读书笔记2
2012-01-11 13:24 9891 绑定变量 1 ... -
Groovy Sql使用Spring的事务管理
2011-12-28 18:43 1229Grails如果不想用Hibernate的东东,可以直 ... -
Crack JRebel 4.0,无需重启JVM,热部署解决方案
2011-12-28 18:28 1136http://dl.dropbox.com/u/229 ... -
Linux tar压缩时排除某个目录或文件的参数
2011-12-21 13:48 1263在对某个目录进行压缩的时候,有时候想排除掉某个目录,例 ... -
2011面试题目之猴子偷桃
2011-12-21 11:14 1439<span style="" ... -
Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
2011-12-20 14:53 1539首先是准备工作 ... -
C#信息采集工具实现
2011-12-20 12:34 844简单C#信息采集工具实现 最近想整只爬虫玩玩,顺便熟 ... -
介绍一个ASP.NET开发工具Web Matrix
2011-12-19 09:49 893想学习或者开发个小型的ASP.NET程序,装个VS.N ... -
程序名称DreamIT(梦想IT)提供许多IT公司的面试和笔试试题
2011-12-19 09:24 868<font style="bac ... -
基于SVG的WebGIS的一个雏形
2011-12-14 13:19 634我和一位师弟,经过了很多天的努力,终于做出了一个简单的 ... -
在Android中自定义IOS风格的按钮
2011-12-12 10:09 1066<p class="MsoNorm ... -
HTML5网站
2011-12-12 08:55 770记得刚来现在公司的时候,老大就说,作为移动平台部门的员 ... -
将字节流(byte[])转换成文件
2011-12-09 08:25 1454/** * 将字节流转换成文件 * @par ... -
在SUSE 11中安装Windows虚拟机
2011-12-09 01:29 866Novell公司最近推出 ...
相关推荐
jackson 对象json字符串数组集合互转 各jar包 希望能用到。
下面小编就为大家带来一篇Jackson将json string转为Object,org.json读取json数组的实例,具有很好的参考价值,希望对大家有所帮助
JackSonUtil.obj2json(方法)的使用,等,不了解的可以留言
三种方法将Object-List-Map-Array 转成json 数据 并抽取了工具类,可以很方便的设置包含哪些字段,去掉哪些字段; JSONArray/JSONObject fastjson jackson 这三个框架
将json转换为map之后,如果数值类型太多会在转换之后出现科学计数法的问题,经研究jackson源码、网上百度资料得知可以通过设置一些参数解决该问题
NULL 博文链接:https://bugyun.iteye.com/blog/2278997
然而通过Json实现数据交互成为我们开发中的一部分,进而Jackson为我们的Json转化提供了很好的机制。下面我将利用实例总结如何使用jackson. 一、准备 如果你需要使用jackson,你必须得导入相应的架包,有如下三个包 ...
jackson json jackson json jackson jsonjackson jsonjackson jsonjackson jsonjackson jsonjackson jsonjackson json
jackson的jar包,用于转换map与list到json,直接导入即可
NULL 博文链接:https://bijian1013.iteye.com/blog/2310135
json数据解析ObjectMapper类需要使用的jar包 org.codehaus.jackson.map.ObjectMapper jackson-mapper-asl-1.9.13.jar
JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。 JSON与 XML具有相同的特性,例如易于人编写和阅读,易于机器生成和解析。但是 JSON比XML数据传输的有效性要高出很多。 JSON完全独立与编程...
json字符串实体bean或者List互转(gson和jackson,支持泛型),支持json的格式化,所需要的包在代码也有说明。还有少的可以告知我,谢谢
2. 支持复杂对象与JSON的映射:支持Java类型如Map、List、数组以及自定义bean与JSON的相互转换。 3. 支持多种注解配置序列化和反序列化:支持@JsonIgnore, @JsonFormat, @JsonView等多种注解配置对象与JSON的映射方式...
赠送jar包:jackson-jaxrs-json-provider-2.7.8.jar; 赠送原API文档:jackson-jaxrs-json-provider-2.7.8-javadoc.jar; 赠送源代码:jackson-jaxrs-json-provider-2.7.8-sources.jar; 赠送Maven依赖信息文件:...
对 jackson json 进行了封装,可以实现 string->json 的互转,包括简单对象的互转和复杂对象的互转
jackson和json-lib两种方式实现map和json互转,别写出两者实现的区别,并上传了两者的包
json格式与java类对象相互转换。json格式转换成java类对象,List,Map。类对象转换成json。
Jackson JSON 三个jar包,Jackson JSON是一个非常方便强大的JSON框架,使用其让我们的开发游刃有余。