Jackson JsonSchemaGenerator - 如何将Schema作为字符串

时间:2014-11-17 23:55:37

标签: java json jackson jsonschema

我确定我只是在这里密集。

我想采用对象架构,并将其转换为字符串表示形式。

像这样,但这会返回null:

JsonSchemaGenerator generator = new JsonSchemaGenerator(MAPPER);
JsonSchema jsonSchema = generator.generateSchema(Get.class);
System.out.println("jsonSchema: " + jsonSchema.asObjectSchema().asStringSchema());

这是使用com {fasterxml.jackson.module.jsonSchema.JsonSchema,位于https://github.com/FasterXML/jackson-module-jsonSchema/wiki

2 个答案:

答案 0 :(得分:6)

你可以通过以下方式实现这一目标:

ObjectMapper mapper = new ObjectMapper();
SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
mapper.acceptJsonFormatVisitor(mapper.constructType(YOURCLASS.class), visitor);
JsonSchema jsonSchema = visitor.finalSchema();
String schemaString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonSchema);

答案 1 :(得分:0)

轻松完成:

m.writeValueAsString(jsonSchema);

基本上,使用Jackson将架构对象编组为JSON。