String字符串如何转换为实体对象
作者:荔枝桃子
将String转换为特定DTO对象,需确保字符串属性值与实体类属性一致,此过程需注意字符串与实体模型对应关系,测试时特别注意边界情况,此经验供参考,支持站点内容
将一个String字符串转换为实体对象
LibraryGdsFaxingCatgDTO类
public class LibraryGdsFaxingCatgDTO {
/**
* 层级展示
*/
private String hierarchy;
/**
* 发行分类总数据
*/
private List<LibraryDataDTO> data;
public String getHierarchy() {
return hierarchy;
}
public void setHierarchy(String hierarchy) {
this.hierarchy = hierarchy;
}
public List<LibraryDataDTO> getData() {
return data;
}
public void setData(List<LibraryDataDTO> data) {
this.data = data;
}
LibraryDataDTO类
public class LibraryDataDTO {
/**
* 首页分类名称
*/
private String name;
/**
* 分类编码
*/
private String code;
/**
* 是否展示
*/
private String isShow;
/**
* 递归子类
*/
private List<LibraryDataDTO> children;
测试类
@Test
public void Test2(){
//String str = dictApi.getDictMsg(AgentConstants.GDS_FAXING_CATG, AgentConstants.GDS_FAXING_CATG_MSG).getDictShortName();
String s="{\"hierarchy\":\"4\",\"data\":[{\"name\":\"教材\",\"code\":\"4009,4011,4012\",\"isShow\":\"0\",\"children\":[{\"name\":\"配套教材\",\"code\":\"4009\",\"children\":[],\"isShow\":\"0\"},{\"name\":\"学历教育教材\",\"code\":\"4011\",\"children\":[],\"isShow\":\"0\"},{\"name\":\"培训教材\",\"code\":\"4012\",\"children\":[],\"isShow\":\"0\"}]},{\"name\":\"参考书\",\"code\":\"4006\",\"isShow\":\"1\",\"children\":[{\"name\":\"参考书\",\"code\":\"4006\",\"children\":[],\"isShow\":\"0\"}]},{\"name\":\"科普书\",\"code\":\"4017\",\"isShow\":\"1\",\"children\":[{\"name\":\"科普\",\"code\":\"4017\",\"children\":[],\"isShow\":\"0\"}]},{\"name\":\"考试用书\",\"code\":\"4010\",\"isShow\":\"1\",\"children\":[{\"name\":\"考试用书\",\"code\":\"4010\",\"children\":[],\"isShow\":\"0\"}]}]}";
LibraryGdsFaxingCatgDTO dto = JSONObject.parseObject(s,LibraryGdsFaxingCatgDTO.class);
System.err.println(dto.getHierarchy());
}
切记!!!
字符串中的一些属性要和实体类中的属性值一致
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
