https://kotlinlang.org logo
#kondor-json
Title
# kondor-json
d

dmcg

11/18/2023, 3:34 PM
Ah, OK, watched the video. The readme really needs an example of a nested array and object. For posterity, if I have
Copy code
data class Root(val places: List<Place>)
    data class Place(val displayName: DisplayName)
    data class DisplayName(val text: String)
I can use
Copy code
object JRoot : JAny<Root>() {
        val places by array(JPlace, Root::places)
        override fun JsonNodeObject.deserializeOrThrow() = Root(+places)
    }

    object JPlace : JAny<Place>() {
        val displayName by obj(JDisplayName, Place::displayName)
        override fun JsonNodeObject.deserializeOrThrow() = Place(displayName = +displayName)
    }

    object JDisplayName : JAny<DisplayName>() {
        val text: JsonProperty<String> by str(DisplayName::text)
        override fun JsonNodeObject.deserializeOrThrow() = DisplayName(+text)
    }
2 Views