Kotlin:
使用TOML
如何操作:
要在 Kotlin 中处理 TOML,你可以使用像 ktoml
这样的库。首先,让我们在 build.gradle.kts
中添加依赖项:
dependencies {
implementation("com.akuleshov7:ktoml:0.2.5")
}
现在,让我们来解析一些 TOML:
import com.akuleshov7.ktoml.file.TomlFileReader
fun main() {
val tomlContent = TomlFileReader.readAndParseFile("config.toml")
val databaseConfig = tomlContent.getTable("database")
val host = databaseConfig.getString("host")
val port = databaseConfig.getLong("port")
println("数据库主机: $host")
println("数据库端口: $port")
}
假设 config.toml
看起来像这样:
[database]
host = "localhost"
port = 5432
样本输出会是:
数据库主机: localhost
数据库端口: 5432
深入探索
TOML,由 GitHub 联合创始人 Tom Preston-Werner 在 2013 年提出,旨在比 YAML 更直观,比 JSON 更类型安全。它已经成为热门选择,尤其是在 Rust 的 Cargo
和 Go 的模块系统中。有替代方案吗?YAML 有更多特性,JSON 在许多编程语言中直接转换为对象,当然还有老好人 XML。至于实现,ktoml 下的 Apache 2.0 许可,是一个纯 Kotlin 库,并不携带 Java 库,提供了编写 TOML 的 DSL,不仅仅是读取。
参见
- TOML GitHub:https://github.com/toml-lang/toml
- ktoml GitHub:https://github.com/akuleshov7/ktoml
- TOML vs. YAML vs. JSON:https://blog.logrocket.com/comparing-configuration-files-yaml-toml-json/