Tag: джексон

Сериализация KMongo BSONTimestamp

Я пытаюсь сериализовать BSONTimestamp с Kotlins KMongo lib. Но внутри MongoDb я вижу только его представление String. "someVal" : { "inc" : 1, "time" : 1495104096 } Должен ли я добавить некоторую аннотацию для Джексона для ее правильной сериализации?

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", […]

JsonProperty не работает при включенном разрешении

У меня есть следующий класс class CodeRequest(@JsonProperty("phone") val phoneNumber: String) Когда я отправляю запрос (используя модификацию) с объектом этого класса как тело (пока минирование не включено) все работает, и запрос будет отправлен в этой форме {"phone": "123"} Но включение minification с помощью следующего proguard-rules.pro приведет к {"phoneNumber": "123"} тела запроса {"phoneNumber": "123"} . # Jackson […]

Регистрация десериализатора для обернутого списка типов

У меня JSON, вот так: { "apps": [ { "id": "1", … }, { "id": "2", … } ] } И, например, скажем, класс Application выглядит следующим образом: data class Application( val id: String ) Я хочу десериализовать JSON в List<Application> , где каждый {…} – это Application . Я надеялся сделать это, не создавая […]

Jackson @ JsonIgnoreProperties несколько полей с Kotlin

У меня возникли проблемы с использованием @JsonIgnoreProperties с kotlin. Мне нужно игнорировать более одного свойства, и я вижу много вопросов, связанных с учебником / SO, где с java обычно вы делаете что-то вроде этого: @JsonIgnoreProperties({ "p0", "p1", "p2" }) class Example(){…} Так что в котлин это было бы: @JsonIgnoreProperties(value = arrayOf( "p0", "p1", "p2" )) […]

Джексон-десериализация – классы данных Kotlin – значения по умолчанию для отсутствующих полей на картографе

Учитывая этот класс данных: data class MyPojo(val notInJson: Int, val inJson: Int) Предположим, что я хочу реализовать функцию формы: fun deserialize(jsonString: String, valueForFieldNotInJson: Int): MyPojo Где jsonString не включает поле с именем notInJson . Предположим также, что я не контролирую определение класса MyPojo . Как я мог использовать библиотеку Джексона для десериализации MyPojo из jsonString […]

Джексон не может десериализовать классы данных Котлина

Я использую Jackson для десериализации классов данных Kotlin. Я использую jackson-kotlin-module но Джексон дает мне следующую ошибку: Невозможно создать экземпляр MyClass: не найдено подходящего конструктора, не может десериализоваться из значения Object Я пробовал добавлять правила proguard для сохранения своих классов, и это конструктор без каких-либо успехов. Если я добавлю правило для хранения всех классов kotlin, […]

Аннотации @JsonValue в классе ценности перечисления класса Kotlin

Я не могу применить аннотацию @JsonValue от Jackson по параметру значения класса enum: enum class CancellationReason(@JsonValue val code: String) { CUSTOMER_RESIGNED("20"), ERRORS_IN_FOO("21"), ERRORS_IN_BAR("24"); } В сообщении об ошибке указано: This annotation in not applicable to target 'value parameter' . В чем проблема?

Класс данных Kotlin Jackson @ JsonProperty не отмечен

Я подключаю Feign к POST с использованием класса данных Kotlin. API, который я вызываю, ожидает {… "brandInfo": {"TPID": 1} …} Я понимаю, что если зависимость jackson-module-kotlin не была правильно подобрана, Feign не смог бы POST вообще, потому что кодировка Джексона потерпит неудачу. Тем не менее, Feign может использовать POST, и Джексон способен кодировать, но независимо […]

Какова цель по умолчанию для аннотации при аннотации свойства в Котлине?

Аннотации в Котлине могут иметь разные целевые объекты использования, как описано здесь: https://kotlinlang.org/docs/reference/annotations.html#annotation-use-site-targets Мой вопрос: когда сайт-сайт явно не определен, какова цель по умолчанию при аннотации свойства в классе, как в примере ниже? class Test { @SomeAnnotation var someProperty: String? = null } Задний план Я пытаюсь использовать Jongo в качестве клиента MongoDB в Котлине […]

Interesting Posts
Давайте будем гением компьютера.