1.GSON来进行 :总计来说就是json转对象或者json转化list都是相当于同名映射
1.1了解gson的使用
1.1.1 gson和fastjson一样,默认是不序列化null值对应的key的,具体案例如下:
1.public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {
2.AutoPartsSearchRequest request = new AutoPartsSearchRequest();
3.request.setKeywords("123");
4.request.setSortingField("234242");
5.Gson g = new GsonBuilder().create();
6.String str = g.toJson(request);
7.System.out.println(str);
8.//输出结果:{"sortingField":"234242","keywords":"123"}
9.}
1.1.2 若是想序列化null值对应的key,只需要将以上创建代码改成以下代码就行:
javaGson g = new GsonBuilder().serializeNulls().create();
1.2.把对象从json字符串 转化为对象 (同名映射过程)
具体案例:lwcxDTo,JfcxDto两个对象都是只有TappSylKxyjzhcx对象其中的一部分属性
private void getListTappSylKxyjzhcx xyjzhcx){
//创建gson对象
Gson g = new GsonBuilder().serializeNulls().create();
// 把TappSylKxyjzhcx对象转化为json
String jsonStr = g.toJson(l);
// 把json转化为LwcxDto对象,就会自动映射,LwcxDto对象中有的属性,json(TappSylKxyjzhcx)字符串就会自动映射。json中有的字符串,LwcxDto中没有,就会自动舍弃
LwcxDto lwcxDto = g.fromJson(jsonStr, LwcxDto.class);
JfcxDto jfcxDto = g.fromJson(jsonStr, JfcxDto.class);
> });
1.3.json转为list同名映射
private TjcxDto getList(List<TappSylKxyjzhcx> list){
TjcxDto tjcxDtos = new TjcxDto();
//创建gson对象
Gson gson = new GsonBuilder().serializeNulls().create();
// 把List<TappSylKxyjzhcx>对象转化为json
String string = gson.toJson(list);
// gson.fromJson(string,new TypeToken<List<BgcxDto>>() {}.getType()) 这个意思就是把json字符串转化为List<BgcxDto>对象的方法,
tjcxDtos.setBgcxDtoList(gson.fromJson(string,new TypeToken<List<BgcxDto>>() {}.getType()));
tjcxDtos.setCbcxDtoList(gson.fromJson(string,new TypeToken<List<CbcxDto>>() {}.getType()));
tjcxDtos.setCgzhDtoList(gson.fromJson(string,new TypeToken<List<CgzhDto>>() {}.getType()));
tjcxDtos.setJfcxDtoList(gson.fromJson(string,new TypeToken<List<JfcxDto>>() {}.getType()));
tjcxDtos.setXmcxDtoList(gson.fromJson(string,new TypeToken<List<XmcxDto>>() {}.getType()));
tjcxDtos.setPtjdcxDtoList(gson.fromJson(string,new TypeToken<List<PtjdcxDto>>() {}.getType()));
tjcxDtos.setLwcxDtoList(gson.fromJson(string,new TypeToken<List<LwcxDto>>() {}.getType()));
tjcxDtos.setHjcxDtoList(gson.fromJson(string,new TypeToken<List<HjcxDto>>() {}.getType()));
return tjcxDtos;
}
2.可以使用BeanUtils,springframework中的工具类
我在这里就不过多介绍了,需要的可以去百度