【问题标题】:How to parse TOML document with Java如何用 Java 解析 TOML 文档
【发布时间】:2021-11-19 10:06:47
【问题描述】:

在我的 Java 应用程序中,我从 REST 服务响应中获得了一个 TOML 文档作为字符串,我研究了如何解析它并转换为 Java 对象。

理想情况下,我想使用一些现有的映射器库进行反序列化,例如用于 JSON 对象的 Jackson 或 Gson。 Java 生态系统中是否有任何选择?

【问题讨论】:

    标签: java parsing deserialization toml


    【解决方案1】:

    有几个库可以在 Java 中处理 TOML 文件,例如 mwanji/toml4jtomlj/tomljtoml4j 看起来维护得更好,并且能够将 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");
    

    【讨论】:

    • 但是 toml4j 自 2016 年以来一直没有发布,只能解析 Toml 0.4.0。 tomlj 的唯一版本(在撰写本文时)是在 2019 年,可以解析 Toml 1.0.0-rc1。
    猜你喜欢
    • 2018-08-23
    • 1970-01-01
    • 2016-09-24
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    相关资源
    最近更新 更多