package com.gk.study.utils; import com.baomidou.mybatisplus.core.toolkit.ArrayUtils; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; public class JsonUtils { private static final ObjectMapper objectMapper = new ObjectMapper(); public static String toJsonString(Object object) { try { return objectMapper.writeValueAsString(object); } catch (Exception e) { throw new RuntimeException(e); } } public static T parseObject(String text, Class clazz) { if (StringUtils.isEmpty(text)) { return null; } try { return objectMapper.readValue(text, clazz); } catch (Exception e) { throw new RuntimeException(e); } } public static T parseObject(byte[] bytes, Class clazz) { if (bytes == null || bytes.length <= 0) { return null; } try { return objectMapper.readValue(bytes, clazz); } catch (Exception e) { throw new RuntimeException(e); } } public static T parseObject(String text, TypeReference typeReference) { try { return objectMapper.readValue(text, typeReference); } catch (Exception e) { throw new RuntimeException(e); } } public static List parseArray(String text, Class clazz) { if (StringUtils.isEmpty(text)) { return new ArrayList<>(); } try { return objectMapper.readValue(text, objectMapper.getTypeFactory().constructCollectionType(List.class, clazz)); } catch (Exception e) { throw new RuntimeException(e); } } }