将json字符串转换为Java源代码无效
我有一个动态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结构(只是为了测试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;
}
如果你投反对票,请解释一下