草庐IT

Jackson2

全部标签

java - jackson 真的无法将 json 反序列化为泛型类型吗?

这是一个重复的问题,因为以下问题要么很困惑,要么根本没有答案:deserializing-a-generic-type-with-jacksonjackson-deserialize-into-runtime-specified-classjackson-deserialize-using-generic-classjackson-deserialize-generic-class-variable我希望这个问题最终能找到一个答案,让这个问题永远清晰。有一个模型:publicclassAgentResponse{privateTresult;publicAgentResponse(Tr

java - 使用 jackson 反序列化为自定义对象的 HashMap

我有以下类(class):importorg.codehaus.jackson.annotate.JsonIgnoreProperties;importorg.codehaus.jackson.annotate.JsonProperty;importjava.io.Serializable;importjava.util.HashMap;@JsonIgnoreProperties(ignoreUnknown=true)publicclassThemeimplementsSerializable{@JsonPropertyprivateStringthemeName;@JsonPrope

java - 将 Jackson ObjectMapper 与 Java 8 可选值一起使用

我试图使用Jackson将类值写入JSON,其中包含Optional作为字段:publicclassTest{Optionalfield=Optional.of("hello,world!");publicOptionalgetField(){returnfield;}publicstaticvoidmain(String[]args)throwsJsonProcessingException{ObjectMappermapper=newObjectMapper();System.out.println(mapper.writeValueAsString(newTest()));}}当

java - jackson 注释中的多态性 : @JsonTypeInfo usage

我想知道@JsonTypeInfo注解是否可以用于接口(interface)。我有一组应该序列化和反序列化的类。这就是我想要做的。我有两个实现类Sub1,Sub2实现MyInt。一些模型类具有实现类型的接口(interface)引用。我想反序列化基于多态的对象@JsonTypeInfo(use=JsonTypeInfo.Id.NAME,include=As.WRAPPER_OBJECT)@JsonSubTypes({@Type(name="sub1",value=Sub1.class),@Type(name="sub2",value=Sub2.class)})publicinterfa

java - 如何正确重用 Jackson ObjectMapper?

我对ObjectMapper的工作方式和在我的应用程序中的一般用途感到满意。我想了解的是实现ObjectMapper以确保它被重复使用并且我不会在我的应用程序中创建不必要的实例的最佳方式?我的想法是我可以在Utils类中声明ObjectMapper,如下所示:publicclassUtils{publicfinalstaticObjectMappermapper=newObjectMapper();}然后我可以从我需要使用代码的各个地方引用它,例如:JsonSimplejsonSimple=Utils.mapper.readValue(jsonString,JsonSimple.cla

java - Jackson JSON 不包装嵌套对象的属性

我有以下类(class):publicclassContainer{privateStringname;privateDatadata;}publicclassData{privateLongid;}当我序列化Container我得到的使用Jackson的类(class){"name":"Somename","data":{"id":1}}但我需要的结果是:{"name":"Somename","id":1}有可能吗(不添加Container.getDataId()方法)?如果有,该怎么做?更新我尝试创建自定义JsonSerializer但结果和以前一样publicclassJsonD

json - Spring和Jackson Json,用 View 序列化不同的字段

在previoussimilarquestion中,我问过,如何使用JacksonJson和Spring序列化两组不同的字段。我的用例是典型的Controller映射@ResponseBody注释直接返回特定对象或对象集合,然后在客户端添加application/json时使用JacksonJson呈现在Accept标题。我有两个答案,第一个建议使用不同的getter列表返回不同的接口(interface),第二个建议使用JsonViews。在阅读了JacksonJsonViews上的文档后,我对第一种方法的理解没有问题,但是第二种方法。,不知道怎么用Spring实现。为了继续举例,我

java - 如何使用 Jackson 和 MongoDB 传递 JSON 消息中的属性?

我们有一个微服务,它从队列中获取一些JSON数据,对其进行一点处理,然后将处理结果进一步发送-再次通过队列。在我们不直接使用JSONObject的微服务中,我们使用Jackson将JSON映射到Java类。在处理时,微服务只对传入消息的一些属性感兴趣,而不是全部。想象一下它只是接收{"operand1":3,"operand2":5,/*otherpropertiesmaycomehere*/}并发送:{"operand1":3,"operand2":5,"multiplicationResult":15,/*otherpropertiesmaycomehere*/}如果不将它们显式映

java - 使用 Jackson 和 Spring 将 JavaScript 数组反序列化为 Java LinkedHashSet 不会删除重复项

假设我有这个客户端JSON输入:{id:"5",types:[{id:"1",types:[]},{id:"2",types:[]},{id:"1",types[]}]}我有这门课:classEntity{privateStringid;privateSettypes=newLinkedHashSet();publicStringgetId(){returnthis.id;}publicStringsetId(Stringid){this.id=id;}publicSetgetTypes(){returntypes;}@JsonDeserialize(as=LinkedHashSet.

java - 我在哪里可以在 Spring 3.1 中指定 Jackson SerializationConfig.Feature 设置

我很困惑为什么使用Spring似乎自定义了默认Jackson配置的jackson的默认包含。它搞砸的一个设置是WRITE_DATES_AS_TIMESTAMPS,Jacksondefault是true但是Spring在某处将其更改为false并且还提供了日期格式。这在世界上的什么地方发生?我希望我的日期保持序列化为数字。更新:原来不是spring导致了问题,实际上是hibernate代理类导致了问题。出于某种原因,如果hibernate具有type="date"的类型映射,它会序列化为日期字符串,但如果它的type="timestamp"它会按预期序列化。我决定暂时将所有映射更改为时间