猿问

将json字符串转换为Java源代码不起作用

我有一个动态 JSON 模式,我需要在运行时将其转换为 Java 源代码

我发现这个 Jackson 示例似乎很常见

代码运行良好,没有异常,但没有生成任何内容。

当我破坏 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);

}


白猪掌柜的
浏览 128回答 1
1回答

慕码人2483693

我对该库一无所知,但该示例似乎无法按原样运行。根据这里的答案,您需要覆盖 DefaultGenerationConfig 中的另一个方法才能使其工作。将以下代码添加到您的示例中对我有用:@Overridepublic SourceType getSourceType() {    return SourceType.JSON;}
随时随地看视频慕课网APP

相关分类

Java
我要回答