问题:
在将java.util.Date 类型字段转为json时,获取时取到的日期为[object object]
,无法进行操作。
举例:
Tariff bean = new Tariff();
bean.setName("Robby");
bean.setAge(1);
bean.setBorn(new Date());
当使用JSONObject jsonObject = JSONObject.fromObject(bean)转换为json时,jsp页面接收到的born日期类型为[object object],无法获取具体日期!
解决方法:添加自定义的日期格式转化类
package com.techson.himsnanhwa.admin.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class JsonDateValueProcessor implements JsonValueProcessor {
private String format ="yyyy-MM-dd";
public Object processArrayValue(Object value, JsonConfig config) {
return process(value);
}
public Object processObjectValue(String key, Object value, JsonConfig config) {
return process(value);
}
private Object process(Object value){
if(value instanceof Date){
SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.UK);
return sdf.format(value);
}
return value == null ? "" : value.toString();
}
}
类名JsonDateValueProcessor自定义,继承的JsonValueProcessor是固定写法。
调用:
Tariff bean = new Tariff();
bean.setName("Robby");
bean.setAge(1);
bean.setBorn(new Date());
JsonConfig jsonConfig = new JsonConfig(); //JsonConfig是net.sf.json.JsonConfig中的这个,为固定写法
jsonConfig.registerJsonValueProcessor(Date.class , new JsonDateValueProcessor());
JSONObject jo = JSONObject.fromObject(bean, jsonConfig);
System.out.println("json:" + jo.toString());
结果:json:{"age":1,"born":"2011-05-31","name":"Robby"}
也可以通过为日期转换类加上构造函数,使用
jsonConfig.registerJsonValueProcessor(java.util.Date.class, new JsonDateValueProcessor("yyyy-MM-dd"));
这种方式获取。
参考:http://blog.sina.com.cn/s/blog_5f1fe33f0100jibg.html
分享到:
相关推荐
这个工具类虽然简单,但涵盖了大部分常见类型的转换,对于日常开发工作,尤其是需要快速将Java对象转换为JSON字符串时,它提供了很大的便利。然而,对于更复杂的情况,例如处理嵌套对象或处理自定义序列化逻辑,可能...
当前端提交包含日期字符串的JSON时,如`"birthday":"1983-03-18"`,Spring Boot默认会将这个字符串解析为时间戳,而不是转换为Date对象。因此,在响应到前端时,`birthday`字段显示为时间戳,而不是日期字符串。 ...
本篇文章主要介绍了两种处理Spring Boot中`@ResponseBody`转换JSON时Date类型的方法:Jackson和FastJson。 ### Jackson处理Date类型 Jackson是Spring Boot默认的JSON库,它提供了多种方式来格式化Date字段。 ####...
在处理JSON时,尤其是在涉及到日期(Date)对象时,可能会遇到一些转换问题。本示例“json格式转换demo”将解决这些常见的问题。 首先,让我们深入了解一下JSON的基本结构。JSON基于JavaScript的一个子集,主要由...
在这个测试中,我们创建了一个`MyClass`,其中包含一个Date字段。我们使用XStream实例,注册自定义的Date转换器,然后将对象序列化成XML并打印出来。接着,我们反序列化XML回`MyClass`对象,确保日期的序列化和反...
根据字段类型,如基本类型、Integer、Long、Float、Double、String或Date,它会以不同的方式将字段值转化为JSON格式。如果字段类型是其他复杂对象,会递归调用`obj2Str`进行转换。最后,移除最后一个逗号,关闭大...
在Java开发中,经常需要将Java对象转换为JSON字符串,或者将JSON字符串反序列化为Java对象。`json-lib`是一个流行的Java库,用于处理JSON格式,它提供了多种类型到JSON的转换功能,包括日期和时间。 本文将详细介绍...
在Java中处理日期并将其转换为JSON格式是常见的需求,尤其是在进行网络传输或存储操作时。本篇文章将详细介绍如何将`java.util.Date`对象转换为符合特定格式的JSON字符串,从而实现更加标准化的数据交换。 #### 一...
在本主题中,我们将深入探讨如何使用Java反射机制将Map转换为Java对象,同时支持Boolean和Date类型的数据。这种转换在处理JSON到对象的映射或者数据库查询结果到对象的映射时非常有用。 首先,我们需要了解Java中的...
然而,当处理包含日期类型的Java对象时,直接转换成JSON可能会出现不符合预期的格式问题。 例如,`Student`类中的`birthday`字段是一个`Date`类型,当使用如`net.sf.json.JSONArray`这样的库将Java对象转换为JSON时...
具体来说,`@JsonFormat`注解可以应用在Java Bean的属性上,用于在序列化(将Java对象转换为JSON字符串)和反序列化(将JSON字符串转换为Java对象)过程中指定日期时间的格式。例如,可以在一个实体类的日期属性上...
默认情况下,Spring Boot 不会自动转换字符字段与日期字段,这将导致在前端提交 JSON 数据时,日期字段无法正确转换为日期类型。因此,本文将详细介绍 Spring Boot DTO 字符字段与日期字段的转换问题,并提供解决...
需要注意的是,日期类型在转换时默认会显示为null,因为json-lib默认不处理Date对象,如果需要正确序列化日期,可能需要额外的配置或自定义转换器。 4. **自定义转换** 对于更复杂的Java对象,例如包含嵌套对象...
GSON是Google开发的一个Java库,用于将Java对象转换为JSON字符串,以及将JSON数据转换回等效的Java对象,从而简化了JSON解析和序列化的过程。 在处理复杂的JSON数据时,GSON的强大功能得以体现。JSON结构通常包括...
当我们在使用Json-lib处理包含日期的对象时,可能会遇到日期类型转换的问题。 这篇博客"关于Json-lib对日期型的转换解决方法"探讨了如何在使用Json-lib时正确地处理日期类型。通常,Json-lib会将日期转换为Unix...
在这个配置中,我们找到了所有的 `MappingJackson2HttpMessageConverter`(负责JSON转换的类),然后注册了我们的 `DateEditor` 到 `ObjectMapper` 中,这样JSON反序列化时就会使用这个编辑器处理日期字段。...
`pydantic`库就是一个很好的选择,它不仅支持类型检查和验证,还能自动地将JSON数据转换为Python类的对象。 ##### 安装`pydantic` 首先,确保已经安装了`pydantic`库,可以通过pip安装: ```bash pip install ...
它不仅能够快速地将Java对象转换为JSON字符串,还能将JSON内容转换回Java对象,极大地简化了JSON在Android中的应用。 1. **引入Fastjson库** 在Android项目中,首先需要在build.gradle文件的dependencies块中添加...
这篇博客文章“将JAVA数据类型转换Json对象是日期类的处理”可能探讨了如何在Java中有效地处理日期类型的转换,因为日期在JSON中通常以字符串形式存在。 在Java中,日期类主要有`java.util.Date`、`java.time....
根据给定的信息,本文将详细解释如何通过JavaScript(简称JS)将JSON数据转换为表格,包括HTML字符串形式和DOM对象形式。此方法适用于快速展示JSON数据,并可方便地集成到Web应用中。 ### 标题解析:JS自动把JSON...