Я указал формат json, как показано ниже, и меня просят преобразовать этот формат json в классы сущностей.
{
"descriptor": {
"reportName": "Shop Drawing Progress Report",
"subLabel": "My Workflow Project",
"columnGroups": [
{
"groupName": "mainData",
"groupLabel": "",
"frozen": true,
"columns": [
{
"field": "identifier",
"label": "Workflow Prefix",
"sortable": true,
"editable": false,
"dataType": "String"
}
]
}]
Я создаю классы сущностей сверху json string и один из этих примеров классов сущностей ниже
public class TabularColumn {
private String field;
private String label;
private boolean sortable;
private boolean editable;
private String dataType;
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public boolean isSortable() {
return sortable;
}
public void setSortable(boolean sortable) {
this.sortable = sortable;
}
public boolean isEditable() {
return editable;
}
public void setEditable(boolean editable) {
this.editable = editable;
}
public String getDataType() {
return dataType;
}
public void setDataType(String dataType) {
this.dataType = dataType;
}
Я должен проверить с помощью инструмента parseDesciptor, который есть в моем приложении, чтобы убедиться, что мои классы сущностей, сгенерированные из формата json, верны. Как я могу это сделать? который? Вот мой инструмент parseDecriptor, который я использую в своем java приложении
public <T> T parseDescriptor(String json, Class<T> c) throws IOException {
try {
ObjectMapper mapper = new ObjectMapper();
mapper.getDeserializationConfig().disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES);
mapper.getDeserializationConfig().enable(DeserializationConfig.Feature.USE_ANNOTATIONS);
T ret = mapper.readValue(json, c);
if (!(ret instanceof ReportDescriptor)) {
throw new IllegalArgumentException("The specified class of type "+c.getCanonicalName()+" does not extend ReportDescriptor");
}
return ret;
}