класса при дисериализации List<FilterItem>  
                  
                  
                  arrayOf(
                  
                  
                     FilterItem(
                  
                  
                        operator="like", 
                  
                  
                        value="102.91.109.6", 
                  
                  
                        property="value")
                  
                  
                  )
                  
                  
                  moshi выплевывает следующее
                  
                  
                  FilterItem(operator==, property=value, value=102.91.109.6)
                  
                  
                  
                  
                  
                  Пробую десериализовать объект в json с помощью moshi для отправки в request. Использую kapt, чтобы не писать для каждого поля соответствие из json 
                  
                  
                  те класс выглядит 
                  
                  
                  data class FilterItem(
                  
                  
                      var operator: String,
                  
                  
                      var property: String,
                  
                  
                      var value: String
                  
                  
                  )
                  
                  
                  https://github.com/square/moshi#codegen
                  
                  
                  Отправляю  как один из  Query
                  
                  
                  @Query("filter") filter: Array<FilterItem>? = null
                  
                  
                  
                  
                  
                  аннатация тоже не помогла 
                  
                  
                  @JsonClass(generateAdapter = true)
                  
                  
                  хочу получить объект для реквеста после дисериализации
                  
                  
                  [{"operator":"like","property":"value","value":"102.91.109.6"}
                  
                  
                
Подскажите почему moshi не убирает имя класса при десириализации любых списков listOf/arrayListOf/arrayOf(Filter("apple")) в консоли выводится как Filter(type=apple)
Посмотрел логи сервера приходит без сериализации класс, просто в виде строки хотя должно удалять ( ) и название класса FilterItem server.name?filter=FilterItem(operator==, property=value, value=102.91.109.6)
Примечание: println(filterItem) И println(Json.toString(filterItem)) Это разные вещи, все эти аннотации не меняют обычно поведение toString самого класса. Примечание 1 - аналогично input и Json.fromString(input) будут напечатаны по разному Примечание 2 - я не знаю как работает Moshi конкретно, поэтому там скорее всего не Json.fromString/toString. Сути проблемы это не меняет :)
Обсуждают сегодня