diff options
Diffstat (limited to 'guide/example/example-serializer-23.kt')
-rw-r--r-- | guide/example/example-serializer-23.kt | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/guide/example/example-serializer-23.kt b/guide/example/example-serializer-23.kt new file mode 100644 index 00000000..4b7de25a --- /dev/null +++ b/guide/example/example-serializer-23.kt @@ -0,0 +1,28 @@ +// This file was automatically generated from serializers.md by Knit tool. Do not edit. +package example.exampleSerializer23 + +import kotlinx.serialization.* +import kotlinx.serialization.json.* +import kotlinx.serialization.encoding.* +import kotlinx.serialization.descriptors.* + +// NOT @Serializable, will use external serializer +class Project( + // val in a primary constructor -- serialized + val name: String +) { + var stars: Int = 0 // property with getter & setter -- serialized + + val path: String // getter only -- not serialized + get() = "kotlin/$name" + + private var locked: Boolean = false // private, not accessible -- not serialized +} + +@Serializer(forClass = Project::class) +object ProjectSerializer + +fun main() { + val data = Project("kotlinx.serialization").apply { stars = 9000 } + println(Json.encodeToString(ProjectSerializer, data)) +} |