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

将json字符串转换为Java源代码无效,java,jackson2,Java,Jackson2,我有一个动态JSON模式,需要在运行时将其转换为Java源代码 我发现这个杰克逊的例子似乎非常 代码运行正常,没有异常,但没有生成任何内容。 当我破坏json结构(只是为了测试jackson是否工作)时,我确实得到了jackson异常 @Test public void jsonToJava() throws IOException { JCodeModel codeModel = new JCodeModel(); String schemaContents ="{\"t

我有一个动态JSON模式,需要在运行时将其转换为Java源代码
我发现这个杰克逊的例子似乎非常
代码运行正常,没有异常,但没有生成任何内容。
当我破坏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);
}

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

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

如果你投反对票,请解释一下