String字符串转bean对象-嵌套对象和list结构
相关实体类:
import lombok.Data;
import java.io.Serializable;
@Data
public class result<T> implements Serializable {
private String msg;
private Integer code;
private T data;
}
----------------
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class ResultPresetSettingsDto {
private static final long serialVersionUID = 1L;
private Long id;
private String deviceGbCode;
private String channelGbCode;
private List<PresetDto> presetList;
private Date createDate;
}
---------------
import lombok.Data;
@Data
public class PresetDto {
private String presetName;
private Long presetId;
}
---------main方法测试-----------
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
public class qqqq {
public static void main(String[] args) {
//模拟封装对象
result result=new result();
result.setCode(200);
result.setMsg("操作成功");
ResultPresetSettingsDto settingsDto=new ResultPresetSettingsDto();
settingsDto.setChannelGbCode("11011500001310000001");
settingsDto.setDeviceGbCode("11011500001320000001");
settingsDto.setId(1L);
List<PresetDto> presetDtos=new ArrayList<>();
PresetDto dto=new PresetDto();
dto.setPresetId(2L);
dto.setPresetName("preset1");
presetDtos.add(dto);
dto=new PresetDto();
dto.setPresetId(3L);
dto.setPresetName("preset2");
presetDtos.add(dto);
settingsDto.setPresetList(presetDtos);
result.setData(settingsDto);
System.out.println(JSON.toJSONString(result));
//String转bean对象
Gson gson = new Gson();
result settingsDto1 = gson.fromJson(JSON.toJSONString(result),result.class);
System.out.println(JSON.toJSONString(settingsDto1));
String zhi="{\"msg\":\"操作成功\",\"code\":200,\"data\":{\"deviceGbCode\":\"11011500001320000001\",\"channelGbCode\":\"11011500001310000001\",\"presetList\":[{\"presetName\":\"preset1\",\"presetId\":1},{\"presetName\":\"preset2\",\"presetId\":2},{\"presetName\":\"preset3\",\"presetId\":3},{\"presetName\":\"preset4\",\"presetId\":4},{\"presetName\":\"preset5\",\"presetId\":5},{\"presetName\":\"preset6\",\"presetId\":6},{\"presetName\":\"preset7\",\"presetId\":7},{\"presetName\":\"preset8\",\"presetId\":8},{\"presetName\":\"preset9\",\"presetId\":9},{\"presetName\":\"preset200\",\"presetId\":200}]}}";
JSONObject object= JSON.parseObject(zhi);
String list=JSON.toJSONString(object.getJSONObject("data").get("presetList"));
List<PresetDto> list1= JSONArray.parseArray(list,PresetDto.class);
System.out.println(list1.toString());
Gson gson1 = new Gson();
ResultPresetSettingsDto dto1 = gson1.fromJson(object.get("data").toString(),ResultPresetSettingsDto.class);
System.out.println(JSON.toJSONString(dto1));
ResultPresetSettingsDto settingsDto2 = JSON.parseObject(object.getJSONObject("data").toString(), new TypeReference<ResultPresetSettingsDto>() {});
System.out.println(JSON.toJSONString(settingsDto2));
}
}
网友评论