Tag: jackson

使用Jackson的JSON反序列化:没有为类型找到合适的构造函数 – 提供默认构造函数或注释构造函数是不可能的

我使用Jackson ObjectMapper将对象层次结构序列化为json String。 之后我想将对象反序列化。 我有例外如下。 重要的是APINewDealArrangementImpl类层次结构超出了我的更改范围 – 它是外部库的一部分。 在这种情况下, 我无法实现默认构造函数,也无法使用@JsonCreator annotion 。 我怎样才能避免“找不到合适的构造函数”的例外? 是否有可能使用一些自定义TypeResolverBuilder实现或Jackson API中的其他function来解决此问题? 感谢帮助。 org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type [simple type, class com.tzero.api.transactions.TransactionState]: can not instantiate from JSON object (need to add/enable type information?) at [Source: java.io.StringReader@57ac3379; line: 4, column: 5] (through reference chain: com.tzero.api.java.transactions.APINewDealArrangementImpl[“state”]) at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163) at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObjectUsingNonDefault(BeanDeserializer.java:746) at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:683) […]

更改字段的Java Jackson注释

我必须为货币汇率调用第三方API,但返回的JSON不断更改,如果我请求MYR到USD转换,它将返回我: {“MYR_USD”:0.246731} ,所以如果我要求KRW {“MYR_USD”:0.246731} USD ,它将返回{“KRW_USD”:0.000888} 。 我将不得不使用@JsonProperty将返回的结果映射到pojo,有什么方法@JsonProperty吗? 我目前的硬编码解决方法: @JsonIgnoreProperties(ignoreUnknown = true) public class FreeCurrencyExchangeRate { @JsonProperty(“MYR_USD”) private double rate; public double getRate() { return rate; } public void setRate(double rate) { this.rate = rate; } }

jackson – 使用自我引用序列化实体

我有以下实体: @Entity @Table(name = “registry_entry”) @JsonIgnoreProperties(ignoreUnknown = true) public class RegistryEntry extends GenericEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(unique = true, nullable = false) @JsonProperty(“id”) protected Long id; … @ManyToMany(fetch = FetchType.EAGER) @JoinTable(name = “srv_registry_entry_related_dependence”, joinColumns = @JoinColumn(name = “id_reg_entry”, referencedColumnName = “id”), inverseJoinColumns = @JoinColumn(name = “id_related_reg_entry”, referencedColumnName = “id”)) @JsonProperty private List relatedRegistryEntries; […]

找不到com.fasterxml.jackson.core.JsonParseException的类文件

我的项目使用Spring MVC作为前端,使用EJB作为后端。 当我使用jackson序列化和反序列化控制器级别的json字符串下面的代码正常工作但服务层它给出了一个错误“ com.fasterxml.jackson.core.JsonParseException找不到的类文件 ” ObjectMapper mapper = new ObjectMapper(); Object convertedObject = mapper.readValue(jsonString, class); 我的模块pom文件包含依赖项。 com.fasterxml.jackson.core jackson-annotations 2.3.0 创建对象后,此错误与mapper出现。 错误: Error:(247, 67) java: cannot access com.fasterxml.jackson.core.JsonParseException class file for com.fasterxml.jackson.core.JsonParseException not found

使用Jackson将数组从javascript传递到java servlet

我试图使用jackson将数组从javascript传递给java servlet,如何做到这一点。谢谢

为post请求创建一个json

我正在尝试将JSON字符串发送到post方法以便接收航class信息,我有以下json示例我必须修改以提出不同的请求 { “request”: { “passengers”: { “adultCount”: 1 }, “slice”: [ { “origin”: “BOS”, “destination”: “LAX”, “date”: “YYYY-MM-DD” }, { “origin”: “LAX”, “destination”: “BOS”, “date”: “YYYY-MM-DD” } ] } } 我有以下课程 public class Request { public class Passengers{ private int adultCount; public int getAdultCount() { return adultCount; } public void setAdultCount(int adultCount) { this.adultCount = […]

如何使用json节点解析json数组值

我有一个包含以下JSON的JsonNode 。 在JsonNode对象里面是一个数组。 在该数组中有三个字段,其中一个是slaid ,是一个列表。 另外两个是字符串。 这是JSON。 { “SLA”: [ { “slaid”: [ “53637cc144ae8b607e089701” ], “ragindicator”: “Red”, “name”: “r1” }, { “slaid”: [ “53637d1844ae8b607e089704” ], “ragindicator”: “Amber”, “name”: “a1” }, { “slaid”: [ “53637eac44ae8b607e089706” ], “ragindicator”: “Green”, “name”: “g1” } ] } 我想解析这个值。 我如何解析它, slaid的类型是List ? 我尝试了一些方法,但我仍然无法找到解决方案。

java.lang.ClassNotFoundException:org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

我在我的项目中使用spring-integration。 当我在jetty容器中部署我的应用程序时,我收到以下exception: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘integrationRequestMappingHandlerMapping’: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘inboundhttpJobRequestGateway’: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/http/converter/json/MappingJackson2HttpMessageConverter at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) […]

jackson反序列化:未被认可的领域

从教程我得到的印象是这应该工作(简化示例): public class Foo { private String bar; public String getBar() { return bar; } public void setBar(String bar) { this.bar = bar; } public static class Qux { private String foobar; public String getFoobar() { return foobar; } public void setFoobar(String foobar) { this.foobar = foobar; } } } … String in = “{ […]

RestEASY和Jackson不兼容 – NoSuchMethodException

我将我的项目从JBoss AS 7.2迁移到WildFly 8.0 ,经过一段时间的更新后,我无法弄清楚,如何解决RestEASY和Jackson不兼容问题。 在JBoss AS 7.2中,我使用了RestEASY 3.0.6.Final和Jackson 2.2.1 ,他们的工作就像一个魅力。 但现在,对于WildFly的 Jackson 2.3 ,存在不兼容性。 服务器抛出NoSuchMethodErrorexception: 13:56:27,049 ERROR [io.undertow.request] (default task-3) UT005023: Exception handling request to /iqpp/applicants/: java.lang.NoSuchMethodError: org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider._configForWriting(Lcom/fasterxml/jackson/databind/ObjectMapper;[Ljava/lang/annotation/Annotation;)Lcom/fasterxml/jackson/jaxrs/json/JsonEndpointConfig; at org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.writeTo(ResteasyJackson2Provider.java:137) [resteasy-jackson2-provider-3.0.6.Final.jar:] at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.writeTo(AbstractWriterInterceptorContext.java:129) [resteasy-jaxrs-3.0.6.Final.jar:] at org.jboss.resteasy.core.interception.ServerWriterInterceptorContext.writeTo(ServerWriterInterceptorContext.java:62) [resteasy-jaxrs-3.0.6.Final.jar:] at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:118) [resteasy-jaxrs-3.0.6.Final.jar:] at org.jboss.resteasy.security.doseta.DigitalSigningInterceptor.aroundWriteTo(DigitalSigningInterceptor.java:143) [resteasy-crypto-3.0.6.Final.jar:] at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:122) [resteasy-jaxrs-3.0.6.Final.jar:] at org.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor.aroundWriteTo(GZIPEncodingInterceptor.java:100) [resteasy-jaxrs-3.0.6.Final.jar:] at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:122) [resteasy-jaxrs-3.0.6.Final.jar:] at org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:99) […]