首先我使用的工具是json-lib

对于date类型的转化一直是json中比较复杂的事情,我这只提出一种自己会的方式与大家分享,如果还好更好的方式别忘记告诉我学习下嘿嘿在这先谢了

对于date类型直接转化如下

java.util.Date testDate = new Date();

JSONObject jsonFromDate = JSONObject.fromObject(testDate);

System.out.println(jsonFromDate);

//prints {"date":26,"day":1,"hours":11,"minutes":30,"month":9,"seconds":18,"time":1256527818296,"timezoneOffset":-480,"year":109}

上述转化后的格式明显不利于我们使用,下面介绍我的方法

//注册date类型的转化方式

JsonConfig jsonConfig = new JsonConfig();

jsonConfig.registerJsonValueProcessor(java.util.Date.class, new JsonValueProcessorImplTest());

JSONObject jsonFromBean = JSONObject.fromObject(testBean,jsonConfig);

System.out.println(jsonFromBean);

//prints {"birthday":"2009-10-26","id":"id","name":"name"}

String[] dateFormats = new String[] {"yyyy/MM/dd","yyyy-MM-dd"};

JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(dateFormats));

TestBean jsonToBean = (TestBean)JSONObject.toBean(jsonFromBean,TestBean.class);

System.out.println(jsonToBean);

//prints TestBean@1126b07[id=id,name=name,birthday=Mon Oct 26 00:00:00 CST 2009]

其中需要的类如下:

1.准备测试数据

import java.util.Date;

import org.apache.commons.lang.builder.ReflectionToStringBuilder;

public class TestBean {

private String id;

private String name;

private java.util.Date birthday;

public TestBean() {

super();

}

public TestBean(String id, String name, Date birthday) {

super();

this.id = id;

this.name = name;

this.birthday = birthday;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public java.util.Date getBirthday() {

return birthday;

}

public void setBirthday(java.util.Date birthday) {

this.birthday = birthday;

}

public String toString() {

return ReflectionToStringBuilder.toString(this);

}

}

2.创建date格式化类

import java.text.SimpleDateFormat;

import java.util.Date;

import net.sf.json.JsonConfig;

import net.sf.json.processors.JsonValueProcessor;

public class JsonValueProcessorImplTest implements JsonValueProcessor {

private String format = "yyyy-MM-dd";

public JsonValueProcessorImplTest() {

super();

}

public JsonValueProcessorImplTest(String format) {

super();

this.format = format;

}

@Override

public Object processArrayValue(Object value, JsonConfig jsonConfig) {

String[] obj = {};

if (value instanceof Date[]) {

SimpleDateFormat sf = new SimpleDateFormat(format);

Date[] dates = (Date[]) value;

obj = new String[dates.length];

for (int i = 0; i < dates.length; i++) {

obj[i] = sf.format(dates[i]);

}

}

return obj;

}

@Override

public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {

if (value instanceof java.util.Date) {

String str = new SimpleDateFormat(format).format((Date) value);

return str;

}

return value.toString();

}

public String getFormat() {

return format;

}

public void setFormat(String format) {

this.format = format;

}

}

通过如上方式我们就可以把含date类型的javabean在javabean和json格式中相互转化了

3

0

分享到:

2009-10-26 11:47

浏览 19407

评论

3 楼

xmllong

2011-04-08

把封装的类共享下吧

2 楼

lyking2001

2011-01-13

Soimissu_plum 写道

感谢。。。实现了功能 ... 要是能见简单的封装下更好了....每个bean都要这么写转换麻烦,我写成了一个工具类,,,

呵呵,这个是当时学习的时候写的,项目中已经做了封装

1 楼

Soimissu_plum

2011-01-06

感谢。。。实现了功能 ... 要是能见简单的封装下更好了....每个bean都要这么写转换麻烦,我写成了一个工具类,,,

java json日期格式化_JSON格式化日期方法相关推荐

  1. java json日期_JSON日期到Java日期?

    本问题已经有最佳答案,请猛点这里访问. 我在任何地方都找不到这个.我从返回标准JSON日期的API中获取一些JSON.您可以通过在javascript控制台中运行此代码来查看格式: > new ...

  2. java json 对象操作_JSON的相关操作和与java对象的转化

    JSON概述: JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) 使用{}进行包含对象,可以使用[]包含{}对象的形式,对象里面也可以含有[] ...

  3. java json中文乱码_JSON数据传输,解决中文乱码

    遇到Json从Java后台传到前端乱码的问题, 设置格式为text/json */ response.setContentType("text/json");  /*设置字符集为' ...

  4. java json 修改字段_JSON文件-Java:编辑/更新字段值

    我的工作流程中有一些JSONObject,并且通过将它们写入json文件来存储相同的JSONObject. 我想要一种有效的方式来更新json文件, 仅 更新 需要的字段, 以及更新的JSONObje ...

  5. java json串拼接_json字符串的拼接与解析

    json字符串拼接(目前使用过两种方式): 1.运用StringBuilder拼接 StringBuilder json = new StringBuilder(); json.append(&quo ...

  6. Java 8日期– LocalDate,LocalDateTime,即时

    Java 8 Date Time API is one of the most sought after change for developers. Java has been missing a ...

  7. 格式化json_在Spring Boot中格式化JSON日期

    1.概述 在本教程中,我们将展示如何在Spring Boot应用程序中格式化JSON日期字段. 我们将探讨使用Jackson格式化日期的各种方法,它被Spring Boot用作默认的JSON处理器. ...

  8. json日期格式化 java_java_Java Web程序中利用Spring框架返回JSON格式的日期,返回Json时格式化日期Date 第一 - phpStudy...

    Java Web程序中利用Spring框架返回JSON格式的日期 返回Json时格式化日期Date第一步:创建CustomObjectMapper类 /** * 解决SpringMVC使用@Respo ...

  9. java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...

    转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...

  10. 如何在Java 8中使用LocalDateTime格式化/解析日期-示例教程

    Java项目中的常见任务之一是将日期格式化或解析为String,反之亦然. 解析日期表示您有一个表示日期的字符串,例如" 2017-08-3",并且要将其转换为表示Java中日期的 ...

最新文章

  1. JavaScript脚本文件学习总结
  2. 通过Google挖掘细分市场的一个案例
  3. linux xampp常见问题
  4. 这些 IDEA 的优化设置赶紧安排起来,效率提升不是一点点!
  5. 2020 年 10 月程序员工资统计,终于涨了!
  6. 音频开发中常见的四个错误
  7. 全民加速节:全站加速在互联网媒体应用上的最佳实践
  8. JAVA高并发服务器工作笔记0001---Java中InetAddress与InetSocketAddress的基本用法
  9. day08【后台】权限控制-上
  10. 清除计算机用户缓存,如何在Windows 7中清除内存缓存,释放电脑空间?
  11. Office excel2010如何用两个文件分别打开两个窗口
  12. html 在线测试 鱼缸,新做的草缸教程,看1遍你也会做,鱼缸造景其实很简单
  13. 知识图谱 语义网络,语义网,链接数据和知识图谱 (二)--基础篇
  14. 【二次分配问题】基于遗传算法 (GA)、粒子群优化 (PSO) 和萤火虫算法 (FA) 求解二次分配( QAP)问题(MATLAB 实现)
  15. ARM架构SMMU驱动详解
  16. 简述工业机器人示教再现的一般步骤_工业机器人示教与初识编程语言
  17. WooCommerce Product Feed指南 – Google Shopping和Facebook[2022]
  18. Ubuntu 14.04 安装 fcitx(小企鹅) 输入法
  19. matlab离散傅立叶变换的应用,离散傅里叶变换 - MATLAB Simulink - MathWorks 中国
  20. wincc版本升级_西门子触摸屏OS更新方法

热门文章

  1. 汉语拼音音节的歧义指数
  2. 普渡大学计算机工程专业提前毕业,Purdue的ECE「普渡大学西拉法叶分校电气与计算机工程学院」...
  3. Delphi 简体 繁体 转换
  4. 如何对Windows 2000中出现的“Stop 0x0000007B”错误信息进行故障诊断
  5. Samba共享文件夹Windows中拷贝文件拒绝访问
  6. kubernetes 26、liveness和readiness的原理与使用
  7. tplink路由器设置网址方法
  8. matplotlib工具栏源码探析三(添加、删除自定义工具项)
  9. 团队项目--“我爱淘”校园二手书店 NABC分析
  10. 路由器和三层交换机区别