diff options
Diffstat (limited to 'guide/example/example-json-13.kt')
-rw-r--r-- | guide/example/example-json-13.kt | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/guide/example/example-json-13.kt b/guide/example/example-json-13.kt index 97188ff5..e20afe28 100644 --- a/guide/example/example-json-13.kt +++ b/guide/example/example-json-13.kt @@ -4,15 +4,13 @@ package example.exampleJson13 import kotlinx.serialization.* import kotlinx.serialization.json.* +val format = Json { decodeEnumsCaseInsensitive = true } + +enum class Cases { VALUE_A, @JsonNames("Alternative") VALUE_B } + +@Serializable +data class CasesList(val cases: List<Cases>) + fun main() { - val element = Json.parseToJsonElement(""" - { - "name": "kotlinx.serialization", - "forks": [{"votes": 42}, {"votes": 9000}, {}] - } - """) - val sum = element - .jsonObject["forks"]!! - .jsonArray.sumOf { it.jsonObject["votes"]?.jsonPrimitive?.int ?: 0 } - println(sum) + println(format.decodeFromString<CasesList>("""{"cases":["value_A", "alternative"]}""")) } |