【发布时间】:2021-11-19 10:06:47
【问题描述】:
在我的 Java 应用程序中,我从 REST 服务响应中获得了一个 TOML 文档作为字符串,我研究了如何解析它并转换为 Java 对象。
理想情况下,我想使用一些现有的映射器库进行反序列化,例如用于 JSON 对象的 Jackson 或 Gson。 Java 生态系统中是否有任何选择?
【问题讨论】:
标签: java parsing deserialization toml
在我的 Java 应用程序中,我从 REST 服务响应中获得了一个 TOML 文档作为字符串,我研究了如何解析它并转换为 Java 对象。
理想情况下,我想使用一些现有的映射器库进行反序列化,例如用于 JSON 对象的 Jackson 或 Gson。 Java 生态系统中是否有任何选择?
【问题讨论】:
标签: java parsing deserialization toml
有几个库可以在 Java 中处理 TOML 文件,例如 mwanji/toml4j 和 tomlj/tomlj。
toml4j 看起来维护得更好,并且能够将 TOML 文件映射到您的 POJO 类,因此它应该完全符合您的需求。
来自其documentation:
Toml#to(Class<T>)将一个 Toml 实例映射到给定的类。TOML 文件示例:
name = "Mwanji Ezana" [address] street = "123 A Street" city = "AnyVille" [contacts] "email address" = "me@example.com"POJO 类示例:
class Address { String street; String city; } class User { String name; Address address; Map<String, Object> contacts; }如何将 TOML 文件映射到 POJO 类:
User user = new Toml().read(tomlFile).to(User.class); assert user.name.equals("Mwanji Ezana"); assert user.address.street.equals("123 A Street"); assert user.contacts.get("\"email address\"").equals("me@example.com");
【讨论】: