Tag: fastxml

Json(fasterxml)stackoverflowexception

尝试序列化类别时,我得到一个stackoverflow。 例外 警告:StandardWrapperValve [dispatcher]:servlet调度程序的Servlet.service()在java.lang.ClassLoader.defineClass(ClassLoader.java:760)的java.lang.ClassLoader.defineClass1(本机方法)中抛出exceptionjava.lang.StackOverflowError at org.apache.felix.framework.BundleWiringImpl $ BundleClassLoader.findClass(BundleWiringImpl.java:2279)位于org.apache.felix.framework.BundleWiringImpl的org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)。在com.fasterxml的java.lang.ClassLoader.loadClass(ClassLoader.java:357)的org.apache.felix.framework.BundleWiringImpl $ BundleClassLoader.loadClass(BundleWiringImpl.java:1955)访问$ 400(BundleWiringImpl.java:75)。 jackon.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:660),位于com.fasterxml.jackson.databind.ser的com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152)。 impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:1 00)com的com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:21)at com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:183)at com位于com.fasterxml.jackson.databind的com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:644)中的.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:541) .ser.BeanSerializer.serialize(BeanSerializer.java:152) Category.java @Entity public class Category implements DataObject, Serializable { @Id @GeneratedValue private Long id; private String title; private String description; @ManyToOne @JsonIgnore private Category parent; @Override public long getId() { return id; } @Override public void setId(long id) […]

jaxrs找不到我的joda.money类型的自定义(de)序列化程序

我已经为joda.money.Money类型编写了我的自定义(de)序列化joda.money.Money 。 我用Object Mapper注册它们。 但是当我部署我的war文件时,它说找不到joda.money.Money类型的序列化器。 import org.joda.money.Money; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; public class MoneyDeserializer extends StdDeserializer { private static final long serialVersionUID = 1L; public MoneyDeserializer() { super(Money.class); } @Override public Money deserialize(JsonParser parser, DeserializationContext context) throws IOException, JsonProcessingException { … } } 在ObjectMapper中注册; import org.codehaus.jackson.jaxrs.JacksonJsonProvider; import org.joda.money.Money; import com.fasterxml.jackson.core.Version; import […]

Fasterxml Jackson自动将非布尔值转换为布尔值

我有一个pojo类,其中一个标志isControl是Boolean类型。 当此属性获得非布尔值而不是true or false fastxml jackson会自动将输入值转换为true 。 经过几个小时的调试后,我发现这是在setter方法setIsControl发生的。 如果此属性的输入值是非布尔值,我想传递自定义消息。 我编写了自己的注释来validation此属性的输入值,如果它不是布尔值,则返回自定义消息,但jackson在检查我的自定义validation器之前绑定该值。 使用jackson版>>> 2.6.3 。 任何帮助将不胜感激。 Control.java @JsonProperty(required = true) @NotNull(message = “isControl cannot be null”) private Boolean isControl; public Boolean getIsControl() { return isControl; } @CheckBoolean(fieldName = “isControl”) public void setIsControl(Boolean isControl) { this.isControl = isControl; } public class BooleanValidator implements ConstraintValidator { private String fieldName; […]

java.lang.ClassNotFoundException / NoClassDefFoundError for com / fasterxml / jackson / databind / ObjectMapper with Maven

尝试运行使用jackon的ObjectMapper类的java程序时出现以下错误: Exception in thread “main” java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper at com.inin.dynamotransfer.DynamoTransfer.importData(DynamoTransfer.java:133) at com.inin.dynamotransfer.DynamoTransfer.main(DynamoTransfer.java:67) Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) … 2 more 我有我的Maven存储库中的Jackson注释,databind(包含ObjectMapper)和核心JAR,位于〜/ .m2 / repository / com / fasterxml / jackson / core / jackson- [packagename] /2.4.0下。 这是我的pom.xml的依赖项部分: com.fasterxml.jackson.core jackson-annotations 2.4.0 com.fasterxml.jackson.core jackson-databind 2.4.0 com.fasterxml.jackson.core […]

不更改POJO的情况下,不区分大小写的JSON到POJO映射

有谁知道com.fasterxml.jackson.databind.ObjectMapper如何能够将JSON属性映射到POJO属性不区分大小写? JSON字符串: [{ “FIRSTNAME”: “约翰”, “LASTNAME”: “Doe的”, “DATEOFBIRTH”: “1980-07-16T18:25:00.000Z”}] POJO级: public class Person { private String firstName; private String lastName; private Date dateOfBirth; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } […]