[英]convert json string to Java source code not working
我有一个动态 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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.