xref: /aosp_15_r20/external/kotlinx.serialization/guide/example/example-json-16.kt (revision 57b5a4a64c534cf7f27ac9427ceab07f3d8ed3d8)
1*57b5a4a6SAndroid Build Coastguard Worker // This file was automatically generated from json.md by Knit tool. Do not edit.
2*57b5a4a6SAndroid Build Coastguard Worker package example.exampleJson16
3*57b5a4a6SAndroid Build Coastguard Worker 
4*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.*
5*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.json.*
6*57b5a4a6SAndroid Build Coastguard Worker 
mainnull7*57b5a4a6SAndroid Build Coastguard Worker fun main() {
8*57b5a4a6SAndroid Build Coastguard Worker     val element = Json.parseToJsonElement("""
9*57b5a4a6SAndroid Build Coastguard Worker         {
10*57b5a4a6SAndroid Build Coastguard Worker             "name": "kotlinx.serialization",
11*57b5a4a6SAndroid Build Coastguard Worker             "forks": [{"votes": 42}, {"votes": 9000}, {}]
12*57b5a4a6SAndroid Build Coastguard Worker         }
13*57b5a4a6SAndroid Build Coastguard Worker     """)
14*57b5a4a6SAndroid Build Coastguard Worker     val sum = element
15*57b5a4a6SAndroid Build Coastguard Worker         .jsonObject["forks"]!!
16*57b5a4a6SAndroid Build Coastguard Worker         .jsonArray.sumOf { it.jsonObject["votes"]?.jsonPrimitive?.int ?: 0 }
17*57b5a4a6SAndroid Build Coastguard Worker     println(sum)
18*57b5a4a6SAndroid Build Coastguard Worker }
19