我在 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/