java - 将Java类结构转换为yml文件

标签 java json yaml

我在 Java 中有一个复杂的模型类,它具有不同类的属性。我想以 yml 格式获取类的模式以提高可读性。我能够将类的结构获取到 JSON 文件中,但我觉得 yml 不那么困惑并且易于准备。

例子 来自

public class Phone {
    public String name;
    public String number;
}

Phone:
    fields:
      name:
        type: String
      number:
        type: String

最佳答案

Jackson 库提供了从 Java 类生成 JSONSchema 的能力。您应该能够将它序列化为 YAML,尽管我还没有实际测试这部分。它可能是这样的:

ObjectMapper m = new ObjectMapper();
SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
m.acceptJsonFormatVisitor(m.constructType(Phone.class), visitor);
JsonSchema jsonSchema = visitor.finalSchema();

ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
mapper.writeValue(yamlFile, jsonSchema);

如果你使用枚举,你可能需要这个配置

mapper.configure(SerializationConfig.Feature.WRITE_ENUMS_USING_TO_STRING, true);

更多详细信息请参见 Yaml module 的 github 页面和 JSON schema module

关于java - 将Java类结构转换为yml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33409893/

相关文章:

ios - 如何在ios中写入json文件

php - 在 Chrome 中无效的 JSON,在 Firefox 中没有问题(太奇怪了!)

html - 如何在与 index.md 共享相同主题的 GitHub 页面上添加新页面?

java - 遇到这个二次方程类JAVA的问题

java - 为数据类型分配相同的值是否会降低效率?

java - 使用 Jsoup 提取 HTML

java - Tomcat热部署Json文件

GO 读取 YAML 文件并映射到结构 slice

ruby-on-rails-3 - Rails 错误,无法解析 YAML

java - java中双引号出现时如何结束字符串