草庐IT

mongo-jackson-mapper

全部标签

java - 使用 Jackson 和 JavaTimeModule 序列化 Java 8 ZonedDateTime

我正在尝试使用Jackson将对象从JSON序列化和反序列化(编码/解码)。其中一些对象具有Java8LocalDate和ZonedDateTime。我在这里读到最好的选择是使用jackson-datatype-jsr310serialize/deserializejava8java.timewithJacksonJSONmapper但是,当我尝试使用它时:ObjectMappermapper=newObjectMapper();mapper.registerModule(newJavaTimeModule());我收到这个错误:java.lang.IllegalAccessError

java - Jackson Deserializer 没有默认(无参数)构造函数

首先,我知道这个问题:CustomDeserializerhasnodefault(noarg)constructor我已经使用了推荐的解决方案,但仍然存在同样的问题。当我尝试反序列化我的json时,我仍然收到错误。我想要对我的对象进行自定义反序列化。我的单元测试如下所示:Serviceservice=newService();service.setId("ID");service.setTitle("Title");service.setDescription("Description");service.setType("Service");ObjectMappermapper=n

java - Spring WebFlux - ServerResponse Jackson 序列化程序问题

我在向网络服务器发送HTTPGET请求时遇到问题。这是负责此资源的代码片段:@GetMapping("/events")publicMonogetEvents(){returnServerResponse.ok().contentType(APPLICATION_JSON).build();}发送请求时出现异常:org.springframework.core.codec.CodecException:Typedefinitionerror:[simpletype,classorg.springframework.web.reactive.function.server.Default

java - Jackson 将 Map 变量反序列化为空 Map 而不是 null

我正在使用Jackson反序列化一个可能包含Map变量的空值的JSON。我想要的是,如果该值为null,我希望映射是一个空的HashMap而不是null。JSON:{"names":null,"descriptions":null,"nicknames":null...}Java类:privateUser{privateMapnames=newHashMap();privateMapdescriptions=newHashMap();privateMapnicknames=newHashMap();}现在,当ObjectMapper反序列化JSON时,它会覆盖字段,并设置names、d

java - System.out 在 Jackson 序列化之后搞砸了

我一直在尝试将一些对象序列化到System.out(用于调试)。只要我打电话finalJsonSerializerserializer=newJsonSerializer();serializer.serialize(System.out,myObj);System.out.println("done");它打印出json,但是“完成”永远不会被打印出来。调试这些行,清楚地表明第3行已执行,但输出从未显示。这是jackson的错误,还是我做错了什么?编辑:publicclassJsonSerializer{privateObjectMappergetConfiguredObjectMa

java - 带有 jackson JsonProperty 的 Lombok 构建器模式

我使用带有构建器模式的lombok构建了一个Java对象。但是,在尝试使用Jackson反序列化Java对象时出现以下异常。对于具有@JsonProperty注释的字段,会发生这种情况。Exceptioninthread"main"com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:Unrecognizedfield"user_name"(classUser$UserBuilder),notmarkedasignorable(2knownproperties:"userName","userId"])at[S

java - 如何让 Jackson mixin 与私有(private)字段一起工作?

我正在尝试使用Jackson2.0mixin来序列化一个没有注释的类。下面是简化的源代码。请注意,我没有使用getters/setters,但似乎我仍然可以使用mixinsaccordingtothedocumentation.publicclassNoAnnotation{privateDatecreated;privateStringname;//makeonewithsomedatainitfortheteststaticNoAnnotationmake(){NoAnnotationna=newNoAnnotation();na.created=newDate();na.name

java - jackson :解析自定义偏移日期时间

我有一个具有时间戳属性的模型:classModel{@JsonProperty("timestamp")privateOffsetDateTimetimestamp;}时间戳格式如下:2017-09-1713:45:42.710576+02OffsetDateTime无法解析:com.fasterxml.jackson.databind.exc.InvalidFormatException:Cannotdeserializevalueoftypejava.time.OffsetDateTimefromString"2017-09-1713:45:42.710576+02":Text'2

java - 如何使用 Jackson 注释序列化此 JSON?

我有以下JSON:{fields:{"foo":"foovalue","bar":"barvalue"}}我写了一个pojo如下:publicclassMyPojo{@JsonProperty("fields")privateListfields;staticclassField{@JsonProperty("foo")privateStringfoo;@JsonProperty("bar")privateStringbar;//Gettersandsettersforthose2}这显然失败了,因为我的json字段“fields”是一个hashmap,而不是一个列表。我的问题是:是否

java - Jackson - 将属性序列化/反序列化为 JSON 值

使用Jackson2,我正在寻找一种通用方法将对象序列化为单个值(然后将它们序列化回来,只填充那个单个字段)而不必重复创建JsonSerializer/JsonDeserializer来处理每种情况。@JsonIdentityInfo注释非常接近,但有点偏离了标记,因为据我所知,它总是会在第一次出现时序列化完整的子对象。这是我想做的一个例子。给定类:classCustomer{Longid=99;Stringname="Joe";//Lotsmoreproperties}classOrder{StringorderNum="11111"@WhateverAnnotationsINeed