Tag: jackson databind

jackson,用私有字段和arg构造函数反序列化没有注释的类

使用Jackson可以反序列化为一个具有私有字段和自定义参数构造函数的类,而不使用注释,也不需要修改类。 我知道在使用这个组合的时候Jackson是可能的:1)Java 8,2)用“-parameters”选项编译; 3)参数名称与JSON匹配。 但是GSON默认也是可以的,没有这些限制。 例如: public class Person { private final String firstName; private final String lastName; private final int age; public Person(String firstName, String lastName, int age) { this.firstName = firstName; this.lastName = lastName; this.age = age; } public static void main(String[] args) throws IOException { String json = “{firstName: \”Foo\”, lastName: \”Bar\”, […]

Kotlin:数据类的JsonProperty.Access.READ_ONLY

我想存档这样的东西: data class Task( @JsonProperty("id", access = READ_ONLY) val id: String? … <other params> … ) 不幸的是,这导致以下异常: com.fasterxml.jackson.databind.JsonMappingException: Argument #0 of constructor [constructor for Task, annotations: [null]] has no property name annotation; must have name when multiple-parameter constructor annotated as Creator at [Source: {"id":"AT-5", …}; line: 1, column: 1] at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:305) at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:268) at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244) […]