I have a POJO class:
public class Stock {
int id;
String name;
Date date;
}
Are there any annotations or development framework/API that can co
Use JJschema. It can generate draft 4 compliant JSON schemas. Refer this post http://wilddiary.com/generate-json-schema-from-java-class/ for details.
Though Jackson Json Schema module can too generate schema but it can, as of today, only generate draft 3 compliant schemas only.
public static String getJsonSchema(Class clazz) throws IOException {
Field[] fields = clazz.getDeclaredFields();
List<Map<String,String>> map=new ArrayList<Map<String,String>>();
for (Field field : fields) {
HashMap<String, String> objMap=new HashMap<String, String>();
objMap.put("name", field.getName());
objMap.put("type", field.getType().getSimpleName());
objMap.put("format", "");
map.add(objMap);
}
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(map);
return json;
}
One such tool is Jackson JSON Schema module:
https://github.com/FasterXML/jackson-module-jsonSchema
which uses Jackson databind's POJO introspection to traverse POJO properties, taking into account Jackson annotations, and produces a JSON Schema object, which may then be serialized as JSON or used for other purposes.