对象例子:
public class QiRadio extends FormMetadataElement {
private static final long serialVersionUID = -6870176756325551208L;
private String datatype; //数据类型
private String dsinterface;
private List<EnumdataElement> enumdata;
private String defaultvalue; //默认值
private String isrequired; //是否必填
private String isrelatebizfield; //是否关联业务字段
private String bizfield; //关联的业务字段
private String perms; //处理权限
private String isparam; //是否作为参数
private String ctrlclass; //控件class样式
private String eventscript; //控件脚本
。。。。。
}
Converter类:
public class EnumdataElementConverter implements Converter {
@Override
public Object convert(Class type, Object value) {
if (type == List.class) { //List类型
if (value instanceof JSONArray) {
List<EnumdataElement> list = new ArrayList<EnumdataElement>();
JSONArray arr = (JSONArray) value;
EnumdataElement element = null;
for (Iterator iterator = arr.iterator(); iterator.hasNext();) {
JSONObject job = (JSONObject) iterator.next();
element = new EnumdataElement();
element.setCode(job.getString("code"));
element.setName(job.getString("name"));
list.add(element);
}
return list;
}
} else if (type == EnumdataElement.class) { //具体类型
if (value instanceof JSONArray) {
JSONArray arr = (JSONArray) value;
JSONObject job = (JSONObject) arr.iterator().next();
EnumdataElement element = new EnumdataElement();
element.setCode(job.getString("code"));
element.setName(job.getString("name"));
return element;
} else if (value instanceof JSONObject) {
JSONObject job = (JSONObject) value;
EnumdataElement element = new EnumdataElement();
element.setCode(job.getString("code"));
element.setName(job.getString("name"));
return element;
}
}
return null;
}
}
使用时:
ConvertUtils.register(new EnumdataElementConverter(), List.class);
org.apache.commons.beanutils.BeanUtils.populate(element, map);