java与json互相转换(解决日期问题)

JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文主要讲解下java和JSON之间的转换,特别是解决互相转换遇到日期问题和指定属性的过滤。

一、需要相关的jar包:

json-lib-xxx.jar
ezmorph-xxx.jar
commons-httpclient-xxx.jar
commons-lang-xxx.jar
commons-logging-xxx.jar
commons-collections-xxx.jar

上面的包可以从下面的连接下载:
http://commons.apache.org/index.html
http://json-lib.sourceforge.net
http://ezmorph.sourceforge.net
二、java-》JSON

1.List-》JSON

打印结果:list->json:[“apple”,”orange”]
2.Map-》JSON

打印结果:map->json:{“age”:30,”name”:”Michael”,”baby”:[“Lucy”,”Lily”]}

3.bean->JSON

打印结果:bean->json:{“age”:1,”born”:{“date”:10,”day”:3,”hours”:14,”minutes”:14,”month”:2,”seconds”:1,”time”:1268201641228,”timezoneOffset”:-480,”year”:110},”name”:”NewBaby”}

4.bean->JSON 日期转换

上面的例子中你会发现它把bean对象里的util.Date这个类型的所有属性一一转换出来。在实际运用过程中,大多数情况下我们希望能转化为yyyy-MM-dd这种格式,下面就讲一讲如何实现:

首先要写一个新的类JsonDateValueProcessor如下:

测试代码:

打印结果:bean->json:{“age”:1,”born”:”2010-03-10″,”name”:”NewBaby”}
这就能得到我们想要的结果了。

5.java->JSON 过滤指定的属性

打印结果:bean->json [add property filter] :{“age”:1,”name”:”NewBaby”}
从执行结果可以看出:born 这个属性已经成功过滤掉了。

三、JSON-》java
1.如何把json的yyyy-MM-dd的转换为Bean中的util.Date类型:

打印结果:
1984-01-12
1990-05-01

2. JSON-》List、 Map

打印结果:
apple
orange
name  Michael
age  30
baby  [Lucy, Lily]

 

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/lang/java/java-json-parse/

发表评论?

2 条评论。

  1. JavaScript Object Natation,貌似拼错了Notation这个单词哈。 😳

回复给 专业通下水道 ¬
取消回复


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">