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

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用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實(shí)例化類型[simple type,class java.time.LocalDateTime]的值; 沒有單字符串構(gòu)造函數(shù)/工廠方法(通過引用鏈:MyDTO [“field1”] - > SubDTO [“date”])
查看完整描述

3 回答

?
蠱毒傳說

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

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

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

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

  • 持續(xù)時(shí)間

  • 瞬間

  • LocalDateTime

  • LOCALDATE的

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

  • 月日

  • OffsetDateTime

  • OffsetTime

  • YearMonth

  • ZonedDateTime

  • 了zoneid

  • ZoneOffset



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

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

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

告訴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());
    }}

隨機(jī)事實(shí):如果我在類之上嵌套并且不使它們靜態(tài),則錯(cuò)誤消息很奇怪: 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)驗(yàn) 獲得超5個(gè)贊

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

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)注
  • 1698 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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