给定了一个带有JSON注释的Java类,我正在寻找一些实用程序来获取其类型信息。
例如具有以下类结构:
class A extends B {
@JsonIgnore
int _some_internal_field;
int f1;
C f2;
}
class B {
boolean f3;
String f4;
}
class C {
float f5;
}
我想打电话
System.out.println(
jsonTypeInfoFrom(A.class)
.toString());
并获得:
{
"f1": "int",
"f2": {
"f5": "float"
},
"f3": "boolean",
"f4": "string"
}
在哪里可以找到这样的jsonTypeInfoFrom(Class)
方法?调查了杰克逊本人,但找不到(至今)。
请帮助:)
艾德里安。
答案 0 :(得分:1)
您可以使用jacksin-module-jsonSchema库。您可以使用以下依赖项添加库:
> <dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jsonSchema</artifactId>
<version>2.9.5</version>
</dependency>
这是从Java类生成json模式的示例代码:
SchemaFactoryWrapper schemaFactory = new SchemaFactoryWrapper(); ObjectMapper mapper = new ObjectMapper(); mapper.acceptJsonFormatVisitor(Entity.class, schemaFactory); JsonSchema resultSchema = schemaFactory.finalSchema(); System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(resultSchema));
答案 1 :(得分:0)
<select multiple="multiple" size="10">
<option value="4">user3@domain</option>
<option value="3">user2@domain</option>
<option value="2">user1@domain</option>
<option value="1">user0@domain</option>
</select>