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

来源:互联网 发布:婚纱网络客服干什么的 编辑:程序博客网 时间:2024/05/22 06:24

       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"}
  
这时你会发现它把bean对象里的util.Date这个类型的所有属性一一转换出来。在实际运用过程中,大多数情况下我们希望能转化为yyyy-MM-dd这种格式,下面就讲一讲如何实现:
   首先要写一个新的类
JsonDateValueProcessor如下:

 

测试代码:

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

三、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]

原创粉丝点击