话不多说,请看代码:
package com; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.List; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; public class Main{ static ObjectMapper mapper = new ObjectMapper(); public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException { String josn = "{"UserID":1,"LoginName":"唐工","Truename":"超级","Nickname":null,"LoginPwd":"E10ADC3949BA59ABBE56E057F20F883E","QQ":"","Phone":"","Email":null,"Remark":"","Account_Non_Locked":0,"Telelephone":null,"IsDelete":0}"; User u = mapper.readValue(josn, User.class); // User u=new Main ().jsonStreamConverObject(josn, User.class); System.out.println("转对象:" + u); // 转集合 String josn2 = "[{"UserID":1,"LoginName":"唐工","Truename":"超级","Nickname":null,"LoginPwd":"E10ADC3949BA59ABBE56E057F20F883E","QQ":"","Phone":"","Email":null,"Remark":"","Account_Non_Locked":0,"Telelephone":null,"IsDelete":0}]"; JavaType javaType = mapper.getTypeFactory().constructParametricType( List.class, User.class); List me = mapper.readValue(josn2, javaType); System.out.println("转集合me:" + me); // 对象里有 集合 转换 String josn3 = "{"UserID":1,"LoginName":"唐工","Truename":"超级","Nickname":null,"LoginPwd":"E10ADC3949BA59ABBE56E057F20F883E","QQ":"","Phone":"","Email":null,"Remark":"","Account_Non_Locked":0,"Telelephone":null,"IsDelete":0,"RoleList":[{"Roleid":0,"Name":"超级管理员","Show_Name":"超级管理员","Remark":null,"Type":1}]}"; User u3 = mapper.readValue(josn3, User.class); // 简单方式 // User u3=new Main ().jsonConverObject(josn3, User.class); 流方式 System.out.println("转对象里有集合u3:" + u3); // 集合 对象 集合 转换 String josn4 = "[{"UserID":1,"LoginName":"唐工","Truename":"超级","Nickname":null,"LoginPwd":"E10ADC3949BA59ABBE56E057F20F883E","QQ":"","Phone":"","Email":null,"Remark":"","Account_Non_Locked":0,"Telelephone":null,"IsDelete":0,"RoleList":[{"Roleid":0,"Name":"超级管理员","Show_Name":"超级管理员","Remark":null,"Type":1}]},{"UserID":2,"LoginName":"唐工","Truename":"超级","Nickname":null,"LoginPwd":"E10ADC3949BA59ABBE56E057F20F883E","QQ":"","Phone":"","Email":null,"Remark":"","Account_Non_Locked":0,"Telelephone":null,"IsDelete":0,"RoleList":[{"Roleid":0,"Name":"超级管理员","Show_Name":"超级管理员","Remark":null,"Type":1}]}]"; JavaType javaType4 = mapper.getTypeFactory().constructParametricType( List.class, User.class); List list = mapper.readValue(josn4, javaType4); System.out.println("集合里是对象 对象里有集合转换:" + list); } public T jsonStreamConverObject(String josn, Class clz) { T t = null; // ObjectMapper jacksonMapper = new ObjectMapper(); InputStreamReader in = new InputStreamReader(new ByteArrayInputStream( josn.getBytes())); BufferedReader streamReader = new BufferedReader(in); StringBuilder buff = new StringBuilder(); String inputStr; try { while ((inputStr = streamReader.readLine()) != null) buff.append(inputStr); // ObjectMapper mapper = new ObjectMapper(); t = mapper.readValue(buff.toString(), clz); } catch (IOException e) { e.printStackTrace(); } return t; } public T jsonConverObject(String josn, Class clz) { T t = null; try { t = mapper.readValue(josn, clz); } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return t; } public List jsonConverList(String josn, Class clz) { List me = null; try { // jacksonMapper // .disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); // jacksonMapper.enableDefaultTyping(); // jacksonMapper.setVisibility(JsonMethod.FIELD,JsonAutoDetect.Visibility.ANY); // jacksonMapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, // false);//格式化 // jacksonMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL); // jacksonMapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS, // false); JavaType javaType = mapper.getTypeFactory() .constructParametricType(List.class, clz);// clz.selGenType().getClass() me = mapper.readValue(josn, javaType); } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return me; } }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持考高分网!



