草庐IT

mongo-jackson-mapper

全部标签

java - 如何防止 Jackson 序列化多态类型的注释属性?

我有多态类型和从JSON到POJO的反序列化工作。我遵循了文档here,实际上。将POJO序列化为JSON时,我得到了一个不需要的属性,特别是逻辑类型名称。importstaticorg.codehaus.jackson.annotate.JsonTypeInfo.*;@JsonTypeInfo(use=Id.NAME,include=As.PROPERTY,property="type")@JsonSubTypes({@JsonSubTypes.Type(value=Dog.class,name="dog"),@JsonSubTypes.Type(value=Cat.class,na

java - 如何在 Jackson 的自定义反序列化器中委托(delegate)默认反序列化?

假设我正在为某个类编写自定义序列化,但想使用默认方法处理其中一个字段。怎么做?在序列化时我们有JsonGenerator#writeObjectField().但是反序列化对应的方法是什么?看下面的代码:importcom.fasterxml.jackson.core.*;importcom.fasterxml.jackson.databind.*;importcom.fasterxml.jackson.databind.annotation.JsonDeserialize;importcom.fasterxml.jackson.databind.annotation.JsonSeri

java - jackson 没有转义 JSON 中的引号

我试图将json放入java的javascript文件中,但是当我将json写入字符串时,该字符串似乎不是javascript的有效json;它缺少一些逃生。(这发生在我格式化为人造json的json字符串中。)例如,这将是我的javascript文件中的有效json:{"message":"thefollowingbooksfailed:[{\"book\":\"TheHorseandhisBoy\",\"author\":\"C.S.Lewis\"},{\"book\":\"TheLeftHandofDarkness\",\"author\":\"UrsulaK.leGuin\"}

java - Jackson,使用私有(private)字段和没有注释的 arg-constructor 反序列化类

是否可以使用Jackson反序列化为具有私有(private)字段和自定义参数构造函数的类,而无需使用注释且无需修改类?我知道在Jackson中使用这种组合是可能的:1)Java8,2)使用“-parameters”选项编译,以及3)参数名称与JSON匹配。但默认情况下在GSON中也可以不受所有这些限制。例如:publicclassPerson{privatefinalStringfirstName;privatefinalStringlastName;privatefinalintage;publicPerson(StringfirstName,StringlastName,inta

java - JSON、Jersey 和 Jackson 中的多态性

JacksonwithJersey是否支持基于JSON的多态类?例如,假设我有一个父类和一个继承自它的子类。而且,假设我想使用JSON通过HTTP发送和接收Parent和Child。publicclassParent{...}publicclassChildextendsParent{...}我考虑过这种实现方式:@Consumes({"application/json"})//Thismethodsupposedtogetaparent,enhanceitandreturnitbackpublic@ResponseBodyParentenhance(@RequestBodyParen

java - 使用 Jackson 将 JSON 多个对象转换为单个 JSON

我有JSON,具有不同的级别字段,因此我想转换为具有一个级别字段的单个JSON,例如:{"prop1":"value1","prob2":"value2","prop3":{"prop4":"value4","prop5":"value5"}...manylevelfields}结果{"prop1":"value1","prop2":"value2","prop4":"value4","prop5":"value5".......}我正在使用带有注释@JsonProperty("field")的Jackson,我对第一级字段没有问题,但我不知道如何访问字段到哪里进入更多在JSON中,对

java - Retrofit 和 Jackson 以及解析 JSON

我正在使用Jackson的Retrofit。由于某些原因,我无法解析以下JSON:[{"ProfileImage":null,"UserName":"joe"},{"ProfileImage":"http://www.example.com/profiles/fileName1.jpg","UserName":"jane"},{"ProfileImage":null,"UserName":"john"}]我得到这个异常:Exceptioninthread"main"retrofit.RetrofitError:java.lang.ClassCastException:sun.refle

java - 如何在 Wildfly 中配置 Jackson?

我有一个sessionBean,方法如下:@POST@Consumes("application/x-www-form-urlencoded")@Path("/calculate")@Produces("application/json")publicCalculationResultcalculate(@FormParam("childProfile")StringchildProfile,@FormParam("parentProfile")StringparentProfile){...}返回的CalculationResult无法映射为JSON,出现如下异常:Causedby:

java - 让 Jackson 在任何地方都使用自定义反序列化器(对于不是我的类型)

我正在尝试设置JacksonJSON自定义反序列化器以将JSON值转换为Long对象。我按照本网站上的说明进行操作:http://wiki.fasterxml.com/JacksonHowToCustomDeserializers设置自定义解串器。但是,要启动自定义反序列化器,我必须每次都进行注释例如publicclassTestBean{Longvalue;@JsonDeserialize(using=LongJsonDeserializer.class)publicvoidsetValue(Longvalue){this.value=value;}}有没有办法告诉Jackson始终

java - 在 Jackson ObjectMapper 上配置缩进间距的最简单方法是什么?

在解决这个问题时,我真的很难理解我所感受到的复杂程度。正如标题所说:用4个空格PrettyPrinter创建JacksonObjectMapper的简单方法是什么?加分项:如何修改现有的ObjectMapper以使其漂亮地打印4个空格?通过我的研究,我发现启用pretty-print的最简单方法通常是在映射器上设置INDENT_OUTPUT:objectMapper.enable(SerializationFeature.INDENT_OUTPUT);但是,这只启用了DefaultPrettyPrinter,它有2个缩进空格。我想要4.为此,似乎我必须构建自己的ObjectMapper