MainActivity.kt
package com.cfsuman.composenetwork
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.cfsuman.composenetwork.ui.theme.ComposeNetworkTheme
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.*
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
ComposeNetworkTheme {
Scaffold(
topBar = {
TopAppBar(
title = {
Text(
"Serialization Build Json Element"
)
}
)
},
content = { MainContent()}
)
}
}
}
}
@Composable
fun MainContent() {
val element = buildJsonObject {
put("firstName","Jenny")
put("lastName","Jones")
put("age",30)
putJsonObject("dept"){
put("name","Development")
}
putJsonArray("skills"){
addJsonObject { put("language","Kotlin") }
addJsonObject { put("language","Java") }
addJsonObject { put("language","C#") }
}
}
val format = Json { prettyPrint = true }
val prettyElement = format.encodeToString(element)
Column(Modifier.fillMaxSize().padding(24.dp)) {
Text(
text = prettyElement,
style = MaterialTheme.typography.h6
)
}
}
- jetpack compose - How to use AndroidView
- jetpack compose - How to use navigation controller
- jetpack compose - Navigate with argument
- jetpack compose - Background brush
- jetpack compose - Combined clickable
- jetpack compose - How to use TabRow
- jetpack compose - Kotlinx serialization decode from string
- jetpack compose - Kotlinx serialization encode defaults
- jetpack compose - Kotlinx serialization allow special floating point values
- jetpack compose - Kotlinx serialization parse to json element
- jetpack compose - Kotlinx serialization build json array
- jetpack compose - Kotlinx serialization build json object
- jetpack compose - Kotlinx serialization decode josn element
- jetpack compose - How to use kotlin flow
- jetpack compose - Random number flow