第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用Jackson JSON映射器序列化/反序列化java 8 java.time

使用Jackson JSON映射器序列化/反序列化java 8 java.time

使用Jackson JSON映射器序列化/反序列化java 8 java.time如何將Jackson JSON映射器與Java 8 LocalDateTime一起使用?org.codehaus.jackson.map.JsonMappingException:無法從JSON String實例化類型[simple type,class java.time.LocalDateTime]的值; 沒有單字符串構(gòu)造函數(shù)/工廠方法(通過引用鏈:MyDTO [“field1”] - > SubDTO [“date”])
查看完整描述

3 回答

?
蠱毒傳說

TA貢獻(xiàn)1895條經(jīng)驗 獲得超3個贊

這里不需要使用自定義序列化器/反序列化器。使用jackson-modules-java8的datetime模塊

數(shù)據(jù)類型模塊使Jackson能夠識別Java 8 Date&Time API數(shù)據(jù)類型(JSR-310)。

該模塊增加了對很多類的支持:

  • 持續(xù)時間

  • 瞬間

  • LocalDateTime

  • LOCALDATE的

  • 當(dāng)?shù)貢r間

  • 月日

  • OffsetDateTime

  • OffsetTime

  • YearMonth

  • ZonedDateTime

  • 了zoneid

  • ZoneOffset



查看完整回答
反對 回復(fù) 2019-08-06
?
拉莫斯之舞

TA貢獻(xiàn)1820條經(jīng)驗 獲得超10個贊

由于歷史原因留下這個答案,但我不推薦它。請參閱上面接受的答案。

告訴Jackson使用您的自定義[de]序列化類進(jìn)行映射:

@JsonSerialize(using = LocalDateTimeSerializer.class)@JsonDeserialize(using = LocalDateTimeDeserializer.class)private LocalDateTime ignoreUntil;

提供自定義類:

public class LocalDateTimeSerializer extends JsonSerializer<LocalDateTime> {
    @Override
    public void serialize(LocalDateTime arg0, JsonGenerator arg1, SerializerProvider arg2) throws IOException {
        arg1.writeString(arg0.toString());
    }}public class LocalDateTimeDeserializer extends JsonDeserializer<LocalDateTime> {
    @Override
    public LocalDateTime deserialize(JsonParser arg0, DeserializationContext arg1) throws IOException {
        return LocalDateTime.parse(arg0.getText());
    }}

隨機事實:如果我在類之上嵌套并且不使它們靜態(tài),則錯誤消息很奇怪: org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported


查看完整回答
反對 回復(fù) 2019-08-06
?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗 獲得超5個贊

如果您使用的是fastxml的ObjectMapper類,默認(rèn)情況下ObjectMapper不了解LocalDateTime類,因此,您需要在gradle / maven中添加另一個依賴項:

compile 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.7.3'

現(xiàn)在您需要將此庫提供的數(shù)據(jù)類型支持注冊到objectmapper對象,這可以通過以下方式完成:

ObjectMapper objectMapper = new ObjectMapper();objectMapper.findAndRegisterModules();

現(xiàn)在,在您的jsonString中,您可以輕松地將java.LocalDateTime字段設(shè)置如下:

{
    "user_id": 1,
    "score": 9,
    "date_time": "2016-05-28T17:39:44.937"}

通過這一切,您的Json文件到Java對象轉(zhuǎn)換將正常工作,您可以通過以下方式讀取該文件:

objectMapper.readValue(jsonString, new TypeReference<List<User>>() {
            });


查看完整回答
反對 回復(fù) 2019-08-06
  • 3 回答
  • 0 關(guān)注
  • 1714 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號