草庐IT

jackson-annotations

全部标签

java - 如何使用 Jackson 反序列化以下 json

我有以下json:{"id":"myid","fields":{"body":"textbody"}}我想将其反序列化为以下Java类:classTestItem{privateStringid;privateStringbody;publicStringgetId(){returnid;}publicvoidsetId(Stringid){this.id=id;}publicStringgetBody(){returnbody;}publicvoidsetBody(Stringbody){this.body=body;}使用JacksonJson反序列化器。这不起作用,因为body字

java - Jackson 使用解包根解析 json,但无法设置 @JsonRootName

其余服务响应1243654INVOICE或在JSON中:{"transaction":{"trxNumber":1243654,"type":"INVOICE"}}我用的时候没有问题:mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE,true)作为结果类@JsonRootName("transaction")publicclassTransaction{privateStringtrxNumber;privateStringtype;//gettersandsetters}但实际上我应该使用第3方jar中的事务类,它与上

java - 包 javax.servlet.annotation 不存在

我定义了一些如下导入,如下图所示。我想知道,如何消除"packagejavax.servlet.annotationdoesnotexist"错误。我目前正在Netbeans7.4中从事“JavaWeb”类型的项目。.其次,我相信,上述错误是我第二个与“WebServlet”相关的错误背后的原因,如上图所示(第44行)。请告诉我如何解决这个问题。阅读其他一些帖子likethisone,但我相信他们没有使用Netbeans,并且不确定我是否应该像帖子中提到的那样更新tomcat。servletapijar文件的位置如下图所示: 最佳答案

java - 将 JSON 名称映射到 Java 类字段/方法(Jackson Parser)

总结如何将JSON名称映射到Java类的字段名称,这在使用Jackson解析器时可能(略有)不同?详情我有传入的JSON文档,我想使用Jacksonparser将其转换为Java对象.这适用于JSON名称与最终Java对象字段名称匹配的情况(我在PlayFramework中这样做)。然而,传入的JSON文档中的某些JSON名称不适合作为漂亮的Java字段名称。更改所有现有的JSON文档以使用正确的Java命名约定目前是不可行的。例如{"goodName":"value","not-so-handy":"value"}我无法创建字段名称为“not-so-handy”的Java类,因为这在

java - 使用 Jackson 将 JSON 标量读取为单元素双 []

假设我有以下两个JSON文件{"a":[1,2]}和{"a":1}我想使用Jackson将它们反序列化为以下形式的对象-publicclassFoo{publicdouble[]a;}所以我最终会得到两个对象,Foo{a=[1,2]}和Foo{a=[1]}。是否可以说服Jackson将标量1反序列化为double组[1],最好使用jackson-databindapi? 最佳答案 是的,你可以。通过使用ObjectMapper#.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE

java - Jackson JSON 和 Hibernate JPA 问题的无限递归(又一个)

我在这方面找到了大量资源,例如这个-InfiniteRecursionwithJacksonJSONandHibernateJPAissue.我已经尝试实现那里描述的所有各种建议(包括基本的@JsonIgnore),但无济于事。无论我尝试什么,除了无限递归错误之外,我什么都得不到。我认为我有一个非常相似/典型的设置,但显然有问题,因为尽管使用了@JsonManagedReference、@JsonBackReferencere和@JsonIdentityInfo注释,但我仍然收到错误。我的表是“exchange”和“stock”,它们之间有manytoMany,我一直在通过Exchan

java - Jackson Yaml 类型信息在序列化时是错误的

通过Jackson将对象序列化为yml时,我得到以下输出:---commands:dev:!然而,我想要的是:---commands:dev:type:foo.bar.baz.DevCommand我能够很好地反序列化。也就是说,反序列化部分按预期工作。我在我能想到的任何地方都添加了以下注释:@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS,include=JsonTypeInfo.As.PROPERTY,property="type")包括DevCommand接口(interface)、DevCommand具体类、具有commands映射(字段和gette

java - 如何在不影响原始 bean 的 'clients' 的情况下声明另一个 Jackson ObjectMapper?

我有一个公开jsonRESTAPI的spring-boot应用程序。为了将对象映射到json,它使用由spring-boot配置的内置jacksonObjectMapper。现在我需要从yaml文件中读取一些数据,我发现一种简单的方法是使用Jackson-为此我需要声明一个不同的ObjectMapper来将yaml转换为对象。我用一个特定的名称声明了这个新的映射器bean,以便能够将它注入(inject)到我处理从yaml文件读取的服务中:@Bean(YAML_OBJECT_MAPPER_BEAN_ID)publicObjectMapperyamlObjectMapper(){retu

使用 findbugs 的 java 编译错误。 com.sun.tools.javac.code.Symbol$CompletionFailure : class file for javax. annotation.meta.When not found

我正在尝试使用findbugs1.3.2的注释。我在一个简单的测试中使用了edu.umd.cs.findbugs.annotations.NonNull注释,它工作正常。但是,现在我有一个大项目,由子模块组成,使用maven,我通过在某个java文件中导入该注释得到以下编译错误:com.sun.tools.javac.code.Symbol$CompletionFailure:classfileforjavax.annotation.meta.Whennotfound可能是什么问题?我尝试在所有子模块中添加findbugs依赖项。也许它与jsr305冲突?我看到我们的依赖项之一使用js

java - 在没有适当字段的情况下使用 Jackson 反序列化 JSON

我有这个JSON:{"success":false}我想将它反序列化到这个POJO中:classMessage{privateMapdataset=newHashMap();@JsonProperty("success")publicbooleanisSuccess(){returnBoolean.valueOf(dataset.get("success"));}@JsonProperty("success")publicvoidsetSuccess(booleansuccess){dataset.put("success",String.valueOf(success));}}是否可