JsonUtil.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package api.common.util;
  2. import com.fasterxml.jackson.core.JsonProcessingException;
  3. import com.fasterxml.jackson.core.type.TypeReference;
  4. import com.fasterxml.jackson.databind.ObjectMapper;
  5. import com.fasterxml.jackson.databind.type.TypeFactory;
  6. import java.lang.reflect.Type;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10. public class JsonUtil {
  11. /**
  12. * bean 转成 json
  13. *
  14. * @param bean bean 对象
  15. * @param <T> 声明为泛型方法
  16. * @return json 字符串
  17. * @throws JsonProcessingException 异常
  18. */
  19. public static <T> String beanToJson(T bean) throws JsonProcessingException {
  20. return new ObjectMapper().writeValueAsString(bean);
  21. }
  22. /**
  23. * json 转成 bean
  24. *
  25. * @param json json 字符串
  26. * @param tClass 返回值类型
  27. * @param <T> 声明为泛型方法
  28. * @return bean 对象
  29. * @throws JsonProcessingException 异常
  30. */
  31. public static <T> T jsonToBean(String json, Class<T> tClass) throws JsonProcessingException {
  32. return new ObjectMapper().readValue(json, tClass);
  33. }
  34. /**
  35. * bean 转成 json
  36. *
  37. * @param list 列表对象
  38. * @param <T> 声明为泛型方法
  39. * @return json 字符串
  40. * @throws JsonProcessingException 异常
  41. */
  42. public static <T> String listToJson(T list) throws JsonProcessingException {
  43. return new ObjectMapper().writeValueAsString(list);
  44. }
  45. public static <T> List<T> jsonToList(String json, Class<T> tClass) throws JsonProcessingException {
  46. TypeFactory t = TypeFactory.defaultInstance();
  47. //List<T> list = new ObjectMapper().readValue(json,t.constructReferenceType(ArrayList.class,tClass));
  48. List<T> list = new ObjectMapper().readValue(json, new TypeReference<List<T>>() {
  49. @Override
  50. public Type getType() {
  51. return super.getType();
  52. }
  53. });
  54. return list;
  55. }
  56. public static Map jsonToMap(String json) {
  57. try {
  58. return new ObjectMapper().readValue(json, HashMap.class);
  59. } catch (Exception e) {
  60. e.printStackTrace();
  61. }
  62. return new HashMap();
  63. }
  64. }