Как преобразовать вложенный Jsonarray из строк в модельный класс - Room - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь преобразовать JsonArray of Strings, используя Seriazable (внутри класса Model), но приложение продолжает падать

AppComponent.java: 11: ошибка: [ComponentProcessor: MiscError] dagger.internal.codegen.ComponentProcessor не удалось обработать это интерфейс, потому что не все его зависимости могут быть разрешены. Проверьте для ошибок компиляции или циклической зависимости сгенерированного кода.

Это пункт из списка (дооснащение). Моя проблема возникает, когда я пытаюсь разобрать массив цветов

{
        "id": 12,
        "title": "Event",
        "start_date": 1557219638,
        "end_date": 1557222342,
        "workshop": {
            "id": 13,
            "title": "Event",
            "appearance": {
                "id": 1,
                "name": "Teal",
                "type": "Gradient",
                "colours": [
                    "#1da8b3",
                    "#4ac6d1"
                ]
            }
        }
}

и модель классов

@Entity(tableName = "Event")
data class Event(

    @PrimaryKey
    @SerializedName("id")
    var id: Int,

    @SerializedName("title")
    var title : String,

    @SerializedName("start_date")
    var startDate : Int,

    @SerializedName("end_date")
    var endDate : Int,
    @Embedded
    @SerializedName("workshop")
    var workshop: Workshop

) :Serializable {}

@Entity(tableName = "Workshop")
data class Workshop(

    @PrimaryKey
    @SerializedName("id")
    var idW: Int,

    @SerializedName("title")
    var titleW : String

    @Embedded
    @SerializedName("appearance")
    var appearance: Appearance
) : Serializable {
}

@Entity(tableName = "Appearance")
data class Appearance(

    @PrimaryKey
    @SerializedName("id")
    var id :Int,
    @SerializedName("name")
    var name : String,

    @SerializedName("type")
    var type :String,

    @ColumnInfo(name = "colours") //here is the problem
    var colours: List<String>

) :Serializable {

   constructor(): this(0,"","","", listOf(),0)
}

Я не знаю, как разобрать цвета [] в этом пункте. Должен ли я использовать другой класс модели?

...