草庐IT

jackson-annotations

全部标签

java - 使用 Jackson 反序列化时如何放宽命名策略?

我一直在尝试升级JSON模块以使用Jackson的FasterXML(2.6.3)版本而不是旧的Codehaus模块。在升级过程中,我注意到使用FasterXML而不是Codehaus时命名策略有所不同。Codehaus在命名策略方面更加灵活。下面的测试突出了我在使用FasterXML时遇到的问题。我如何配置ObjectMapper以使其遵循与Codehaus相同的策略?我无法更改JSONProperty注释,因为它们有数百个。我希望升级能够在命名策略方面向后兼容。importjava.io.IOException;importcom.fasterxml.jackson.annotat

java - Jackson:Map的反序列化

我正在使用Jackson反序列化一个json文件(我用jackson序列化)。json是一个简单的HashMap,但当我尝试反序列化时,映射器会报错。org.codehaus.jackson.map.JsonMappingException:Cannotdeserializeinstanceofjava.util.HashMapoutofSTART_ARRAYtoken我序列化的HashMap字符串.....{"0f861a9a-0a3e-40a7-8ff3-0b83d8070876":{"name":"BAR.xml","filePath":"/FOO/repo/BAR.xml"},

java - jackson 列表反序列化。嵌套列表

我正在努力创建一个具有嵌套列表的API。Jackson似乎是创建对象的好工具,但我不太清楚如何嵌套列表,我想知道这是否可行。我的对象看起来像这样。publicclassOrder{publicStringname;publicListitems;}我希望有一种方法可以将它映射到json,看起来像这样:{name:"Aname"items:{elements:[{price:30}]}}我们希望能够做到这一点,以便我们可以将属性添加到列表中。 最佳答案 您可以为Listitems编写自定义反序列化程序.请参见以下示例:classIte

java - 如何在 JavaDoc 中包含 @Annotations?

这个问题在这里已经有了答案:Isthereawaytogetthejavadoctooltodocumentannotations?(1个回答)关闭4年前。我想在JavaDoc中记录类和方法的一些属性,并能够在运行时加载这些信息。因此,我认为编写自定义注释并使用此注释注释所有必要的文件和方法可能会很方便。有了这个注释,我可以在运行时加载这些信息。这是一个假设的代码片段来演示我的用例:publicclassImportantClass{@DetailedDescription(description="originatedfromdatasourceXYZ")publicvoidimpo

java - 在使用 @JsonValue 反序列化类时,Jackson 更喜欢私有(private)构造函数而不是 @JsonCreator

我有一个带有私有(private)构造函数和静态工厂的简单类。我希望该类序列化为数字,所以我用@JsonValue注释了该字段的getter。然而,Jackson似乎更喜欢私有(private)构造函数而不是静态工厂,即使我用@JsonCreator注释静态工厂也是如此。如果我用@JsonIgnore注释私有(private)构造函数,它会起作用,但感觉有点不对劲。我看到一些帖子声称@JsonCreator只有在参数用@JsonProperty注释时才有效;但是,序列化为JSON对象的对象似乎就是这种情况。此对象被序列化为数字,因此没有属性可提供给注释。有什么我想念的吗?示例类:pac

java - 使用 jackson 转换 Java 对象时如何忽略可选属性

我正在使用Jackson1.9.2(org.codehaus.jackson)从Java对象转换为匹配的JSON结构。这是我的java对象:ClassColorLight{Stringtype;booleanisOn;Stringvalue;publicStringgetType(){returntype;}publicsetType(Stringtype){this.type=type;}publicbooleangetIsOn(){returnisOn;}publicsetIsOn(booleanisOn){this.isOn=isOn;}publicStringgetValue(

java - Jackson JSON - 解码时出现 "no single-String constructor/factory method"错误

最简单的情况给我带来了麻烦。我第一次遇到它。我能够解码稍微复杂的json,但这个简单的失败了。什么会导致这种情况?为什么jackson只用一个字符串就有问题?保存用户角色名称的简单类。publicclassUpdateUserRole{privateStringname;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}}Controller内部publicvoidupdateUserRole(@PathVariableLongid,@RequestBodyUpdateUser

java - 使用 Jackson 将 java.time.localdate 序列化为 json

我正在编写一个Java8SpringMVC应用程序,该应用程序使用REST服务与遗留ProgressOpenEdge应用程序进行通信(我为此使用了Spring的RestTemplate)。我需要从Progress应用程序读取和写入的数据包含一些日期。在Java应用程序中,我使用java.time.LocalDate数据类型来表示这些字段,并且我使用Jackson将数据序列化/反序列化到Json中/从Json中反序列化。我遇到的问题如下。当我从进度应用程序发送数据时,日期作为“2015-01-02”发送,并按预期作为LocalDate存储在我的Java实体中。当数据发送到Web前端时,J

java - 如何使用jackson在java中将json转换为POJO

我正在使用spring3.1.2,我需要将一个json对象解析为POJO。这是我需要解析的json:{"Person":{"id":"2"},"Dog":{"dateOfBirth":"2012-08-2000:00:00","price":"10.00"}}我需要将这个json对象(由两个对象组合而成)转换为一个POJO,这里是:publicclassMyClass{publicMyClass(){}publicMyClass(StringpersonsId,TimeStampdogsDateOfBirth,BigDecimaldogsPrice){....//assigneachp

java - NoClassDefFoundError : org/hibernate/annotations/common/reflection/MetadataProvider

我在pom.xml中定义了依赖org.hibernatehibernate-commons-annotations3.3.0.ga我在C:/User/.m2/repository/org/hibernate/hibernate-commons-annotations/3.3.0.ga中有上面的jar我在hibernate.cfg.xml中配置了session工厂和数据源,并尝试在我的主要方法中构建配置:Configurationconfiguration=newConfiguration().configure();StandardServiceRegistryBuilderbuild