我有以下代码:
DTO:
Class MyDTO {
import java.util.Date;
private Date dateOfBirth;
public Date getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(Date dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
}
控制器
public void saveDOB(@RequestBody MyDTO myDTO, HttpServletRequest httprequest, HttpServletResponse httpResponse) {
System.out.println("Inside Controller");
System.out.println(myDTO.getDateOfBirth());
}
JSON请求:
{
"dateOfBirth":"2014-09-04",
}
如果我以yyyy-mm-dd的形式发送请求,将自动转换为日期对象。控制器中的输出:-dateOfBirth=2014年9月4日星期四05:30:00
但是当我以dd-mm-yyyy格式发送DateofBirth时,它不会自动将String转换为Date。所以我如何处理这种情况。
JSON请求:
{
"dateOfBirth":"04-09-2014",
}
输出:控制台中的任何输出都不会到达控制器。
我尝试过@DateTimeFormat,但它不起作用。
我使用的是Spring 4.02,请建议我们是否可以使用任何注释。
List item创建一个类来扩展JsonDeserializer
public class CustomJsonDateDeserializer extends JsonDeserializer<Date> {
@Override
public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
String date = jsonParser.getText();
try {
return format.parse(date);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
}
在setter
方法上使用@jsondeselliate(using=CustomJsonDateDeserializer.class)
注释。
感谢@Varun Achar
回答,网址
@DateTimeFormat
用于表单支持(命令)对象。您的JSON由Spring的MappingJackson2HttpMessageConverter
中的Jackson的ObjectMapper
处理(默认情况下)(假设是Jackson的最新版本)。这个ObjectMapper
有许多它可以处理的默认日期格式。看起来yyyy-mm-dd
是其中之一,但dd-mm-yyyy
不是。
您需要使用ObjectMapper
注册自己的日期格式,并使用MappingJackson2HttpMessageConverter
注册该ObjectMapper
。以下是各种方法:
或者,您可以在整个类或其字段之一(日期)上使用JsonDeserializer
。下面链接中的示例
问题内容: 我写了一个函数将字符串转换为整数 我有一个字符串6042076399,它给了我错误: 这不是将字符串转换为整数的正确方法吗? 问题答案: 这是我更喜欢的方式: 编辑(2015年4月4日): 如下面的评论所述,实际上这样做更好:
我在拔头发。 我试过用猫鼬: NodeJs本地mongoDb驱动程序
问题内容: 我正在开发一些应用程序,它允许从SD卡中选择图像,将其保存到数据库中并为ImageView设置此值。我需要知道将uri转换为字符串并将字符串转换为uri的方法。现在,我使用了Uri的getEncodedPath()方法,但是例如,此代码不起作用: 因此,我不知道如何将Uri保存到数据库中并根据保存的值创建新的Uri。请帮我修复它。 问题答案: 我需要知道将uri转换为字符串并将字符串转
我从rest调用中获得了一个json,其格式为{“D1”:1,“D2”:1,“D3”:0,“D4”:1},它在db中存储为-{D1=1,D2=1,D3=0,D4=1}。 到目前为止我已经试过了,但没有成功- JSONParser parser=新的JSONParser();JSONObject json=(JSONObject)parser.parse(jsonString); 我想把这个json
问题内容: 有没有办法将a 变成a 或将一个字母变成a (例如如何将a 变成a 和a 变成an )?(如果可以,请链接到相关文档)。 我该如何找到在文档中才隐约知道的类似内容? 问题答案: 您可以通过确定可能涉及的类来查找文档。在这里,候选人是和。 您应该先熟悉以下内容: 原始包装 中的Java Collection框架 它还有助于通过教程更慢地介绍API。 处理字符串中的字符
本文向大家介绍在Java中将String转换为StringBuilder,包括了在Java中将String转换为StringBuilder的使用技巧和注意事项,需要的朋友参考一下 StringBuilder类的append()方法接受一个String值,并将其添加到当前对象。 要将String值转换为StringBuilder对象- 获取字符串值。 使用append()方法将获取的字符串追加到St