将 json 字符串转换为 Java 源代码无效

convert json string to Java source code not working

我有一个动态 JSON 模式,我需要在 运行-time
将其转换为 Java 源代码 我发现这个 Jackson 的例子看起来很 common
代码 运行 没问题,没有异常但没有生成任何东西。
当我破坏 json 结构时(只是为了测试 jackson 是否正常工作)我确实遇到了 Jackson 异常...

@Test
public void jsonToJava() throws IOException {   
    JCodeModel codeModel = new JCodeModel();
    String schemaContents ="{\"test\":\"test\"}";

    GenerationConfig config = new DefaultGenerationConfig() {
        @Override
        public boolean isGenerateBuilders() { 
            return true;
        }
    };

    SchemaMapper mapper = new SchemaMapper(new RuleFactory(config, new Jackson2Annotator(config), new SchemaStore()), new SchemaGenerator());
    mapper.generate(codeModel, "HelloWorldClass", "com.my.package", schemaContents);
    File directory = new File("C:\temp\gen");
    directory.mkdirs();
    codeModel.build(directory);
}

我对该库一无所知,但该示例似乎无法正常工作。根据答案 here,您需要覆盖 DefaultGenerationConfig 中的另一个方法才能使其正常工作。将以下代码添加到您的示例对我有用:

@Override
public SourceType getSourceType() {
    return SourceType.JSON;
}