1.Java对象转化成JSON
String getJSON(Object obj){ ObjectMapper objectMapper = new ObjectMapper(); //创建一个ObjectMapper对象 return objectMapper.writeValueAsString(obj); // 直接调用writeValueAsString 方法即可进行转换 }catch (Exception e) { throw new RuntimeException(e); } }
2.JSON数据转换为Java对象
2.1 简单的java对象
Object getObject(String str,Class<?> clazz){ ObjectMapper objectMapper = new ObjectMapper(); try{ return objectMapper.readValue(str, clazz); //调用readValue方法即可 }catch (Exception e) { throw new RuntimeException(e); } }
2.2 复杂的java对象
复杂的java对象可能包括集合什么的,这个稍微麻烦一点
// 1.创建一个ObjectMapper对象 ObjectMapper objectMapper = new ObjectMapper(); //2.获得一个类型工厂,然后调用constructCollectionType方法,此时需要传入两个参数,第一个是List集合对象,另一个是实际的Java对象 CollectionType listType = objectMapper.getTypeFactory().constructCollectionType(ArrayList.class, NameValuePairRequest.class); // 3.调用readValue方法,将要转换的JSON对象和CollectionType作为参数输入进去。 List<NameValuePairRequest> nameValuePairRequests= objectMapper.readValue(form_body, listType);
JavaType javaType = mapper.getTypeFactory().constructParametricType(Map.class, Object.class, String.class); Map<String,Object> value = mapper.readValue(param, javaType);
以上就是我常用到的转化方法,后期遇到复杂的会继续补充