What is this?
This library adds YAML support to kotlinx.serialization.
YAML version 1.2 is supported.
This is a very rough initial version:
- Many operations are not yet optimised for performance.
- Only the JVM is supported, Kotlin/Native support will be added in a future version.
Parsing from YAML to a Kotlin object
@Serializable data class Team( val leader: String, val members: List<String> ) val input = """ leader: Amy members: - Bob - Cindy - Dan """.trimIndent() val result = Yaml.default.parse(Team.serializer(), input) println(result)
Serializing from a Kotlin object to YAML
@Serializable data class Team( val leader: String, val members: List<String> ) val input = Team("Amy", listOf("Bob", "Cindy", "Dan")) val result = Yaml.default.stringify(Team.serializer(), input) println(result)
Add the following to your Gradle build script:
implementation("com.charleskorn.kaml:kaml:<version number here>")
Contributing to kaml
Pull requests and bug reports are always welcome!
kaml uses batect to simplify development environment setup:
- To build the library:
- To run the tests and static analysis tools:
- To run the tests and static analysis tools continuously:
Other commands are available by running