gpt4 book ai didi

java - Spring MVC - JSON - 配置将日历解析为 Java 对象

转载 作者:行者123 更新时间:2023-11-30 11:12:05 25 4
gpt4 key购买 nike

您如何配置 Jackson 解析为日历的方式?无论如何设置格式?

我正在使用

@RequestMapping(value = "/assign", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public Form5398Obj arriveTrip(@PathVariable String siteId,
@RequestBody ErrorMsg anError) throws Exception {

System.out.println(anError.toString());

}

我注意到我收到错误 400,因为 ErrorMsg 中的日历字段未正确转换。如果我从 POST 中删除它,它会正常工作。

我通过搜索发现有一些标准表格对我有用""yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm: ss zzz", "yyyy-MM-dd"

有没有明确告诉它以某种方式解析?

最佳答案

here在常见问题解答中了解如何为 Jackson 2.0 做到这一点。

序列化常见问题解答中的示例:

public class DateStuff {
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd,HH:00", timezone="CET")
public Date creationTime;
}

独立于此,可以编写自己的 Serializer 类并使用 @JsonDeSerialize(using MyDeSerializer.class) 注释属性

public class MyJsonDateDeserializer extends JsonDeserializer<Date>
{
@Override
public Date deserialize(JsonParser jsonparser,
DeserializationContext deserializationcontext) throws IOException, JsonProcessingException {

SimpleDateFormat f = new SimpleDateFormat("dd.MM.yyyy"); // german date
String d = jsonparser.getText();
try {
return f.parse(d);
} catch (ParseException e) {
throw new RuntimeException(e);
}

}

}

关于java - Spring MVC - JSON - 配置将日历解析为 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27071871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com