类 JsonUtils

java.lang.Object
io.github.lishangbu.avalon.json.util.JsonUtils
所有已实现的接口:
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

public class JsonUtils extends Object implements org.springframework.context.ApplicationContextAware
JSON 序列化与反序列化工具类。 提供将 Java 对象转为 JSON 字符串、格式化 JSON 和将 JSON 转换为不同 Java 类型的功能。
从以下版本开始:
2025/4/8
作者:
lishangbu
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    static com.fasterxml.jackson.databind.ObjectMapper
    获取 ObjectMapper 实例。
    static com.fasterxml.jackson.databind.JsonNode
    readTree(byte[] content)
    将字节数组转换为 JsonNode 对象。
    static com.fasterxml.jackson.databind.JsonNode
    将 InputStream 转换为 JsonNode 对象。
    static com.fasterxml.jackson.databind.JsonNode
    将 Reader 转换为 JsonNode 对象。
    static com.fasterxml.jackson.databind.JsonNode
    readTree(String content)
    将 JSON 字符串转换为 JsonNode 对象。
    static <T> T
    readValue(byte[] src, com.fasterxml.jackson.core.type.TypeReference<T> valueTypeRef)
    将 JSON 字节数组转换为指定泛型类型的 Java 对象。
    static <T> T
    readValue(byte[] src, com.fasterxml.jackson.databind.JavaType javaType)
    将 JSON 字节数组转换为指定 JavaType 类型的 Java 对象。
    static <T> T
    readValue(byte[] src, Class<T> valueType)
    将 JSON 字节数组转换为指定类的 Java 对象。
    static <T> T
    readValue(InputStream src, com.fasterxml.jackson.core.type.TypeReference<T> valueTypeRef)
    将 InputStream 转换为指定泛型类型的 Java 对象。
    static <T> T
    readValue(InputStream src, com.fasterxml.jackson.databind.JavaType valueType)
    将 InputStream 转换为指定 JavaType 类型的 Java 对象。
    static <T> T
    readValue(InputStream src, Class<T> valueType)
    将 InputStream 转换为指定类的 Java 对象。
    static <T> T
    readValue(Reader src, com.fasterxml.jackson.core.type.TypeReference<T> valueTypeRef)
    将 Reader 转换为指定泛型类型的 Java 对象。
    static <T> T
    readValue(Reader src, com.fasterxml.jackson.databind.JavaType valueType)
    将 Reader 转换为指定 JavaType 类型的 Java 对象。
    static <T> T
    readValue(Reader src, Class<T> valueType)
    将 Reader 转换为指定类的 Java 对象。
    static <T> T
    readValue(String content, com.fasterxml.jackson.core.type.TypeReference<T> valueTypeRef)
    将 JSON 字符串转换为指定泛型类型的 Java 对象。
    static <T> T
    readValue(String content, Class<T> valueType)
    将 JSON 字符串转换为指定类的 Java 对象。
    void
    setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
    设置 ApplicationContext 以便获取 ObjectMapper Bean。
    static String
    toJson(Object value)
    将 Java 对象序列化为 JSON 字符串。
    static byte[]
    将 Java 对象序列化为 JSON 字节数组。
    static String
    将 Java 对象序列化为格式化(漂亮打印)的 JSON 字符串。

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造器详细资料

    • JsonUtils

      public JsonUtils()
  • 方法详细资料

    • getInstance

      public static com.fasterxml.jackson.databind.ObjectMapper getInstance()
      获取 ObjectMapper 实例。 这是一个单例实例,可用于 JSON 序列化和反序列化。
      返回:
      ObjectMapper 实例
    • toJson

      @Nullable public static String toJson(@Nullable Object value)
      将 Java 对象序列化为 JSON 字符串。
      参数:
      value - 要序列化的 Java 对象
      返回:
      序列化后的 JSON 字符串,如果输入为空,则返回 null
    • toPrettyJson

      @Nullable public static String toPrettyJson(@Nullable Object value)
      将 Java 对象序列化为格式化(漂亮打印)的 JSON 字符串。
      参数:
      value - 要序列化的 Java 对象
      返回:
      格式化后的 JSON 字符串,如果输入为空,则返回 null
    • toJsonAsBytes

      public static byte[] toJsonAsBytes(@Nullable Object value)
      将 Java 对象序列化为 JSON 字节数组。
      参数:
      value - 要序列化的 Java 对象
      返回:
      序列化后的 JSON 字节数组,如果输入为空,则返回 null
    • readTree

      public static com.fasterxml.jackson.databind.JsonNode readTree(String content)
      将 JSON 字符串转换为 JsonNode 对象。
      参数:
      content - 要反序列化的 JSON 字符串
      返回:
      转换后的 JsonNode 对象
    • readTree

      public static com.fasterxml.jackson.databind.JsonNode readTree(InputStream in)
      将 InputStream 转换为 JsonNode 对象。
      参数:
      in - 要读取的 InputStream
      返回:
      转换后的 JsonNode 对象
    • readTree

      public static com.fasterxml.jackson.databind.JsonNode readTree(Reader r)
      将 Reader 转换为 JsonNode 对象。
      参数:
      r - 要读取的 Reader
      返回:
      转换后的 JsonNode 对象
    • readTree

      public static com.fasterxml.jackson.databind.JsonNode readTree(byte[] content)
      将字节数组转换为 JsonNode 对象。
      参数:
      content - 包含 JSON 数据的字节数组
      返回:
      转换后的 JsonNode 对象
    • readValue

      @Nullable public static <T> T readValue(@Nullable String content, Class<T> valueType)
      将 JSON 字符串转换为指定类的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      content - 要反序列化的 JSON 字符串
      valueType - 要转换为的 Java 类
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • readValue

      @Nullable public static <T> T readValue(@Nullable String content, com.fasterxml.jackson.core.type.TypeReference<T> valueTypeRef)
      将 JSON 字符串转换为指定泛型类型的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      content - 要反序列化的 JSON 字符串
      valueTypeRef - 泛型类型的 TypeReference
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • readValue

      @Nullable public static <T> T readValue(@Nullable byte[] src, Class<T> valueType)
      将 JSON 字节数组转换为指定类的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      src - 包含 JSON 数据的字节数组
      valueType - 要转换为的 Java 类
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • readValue

      @Nullable public static <T> T readValue(@Nullable byte[] src, com.fasterxml.jackson.core.type.TypeReference<T> valueTypeRef)
      将 JSON 字节数组转换为指定泛型类型的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      src - 包含 JSON 数据的字节数组
      valueTypeRef - 泛型类型的 TypeReference
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • readValue

      @Nullable public static <T> T readValue(@Nullable byte[] src, com.fasterxml.jackson.databind.JavaType javaType)
      将 JSON 字节数组转换为指定 JavaType 类型的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      src - 包含 JSON 数据的字节数组
      javaType - 指定的 JavaType 类型
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • readValue

      @Nullable public static <T> T readValue(@Nullable InputStream src, Class<T> valueType)
      将 InputStream 转换为指定类的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      src - 包含 JSON 数据的 InputStream
      valueType - 要转换为的 Java 类
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • readValue

      @Nullable public static <T> T readValue(@Nullable InputStream src, com.fasterxml.jackson.core.type.TypeReference<T> valueTypeRef)
      将 InputStream 转换为指定泛型类型的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      src - 包含 JSON 数据的 InputStream
      valueTypeRef - 泛型类型的 TypeReference
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • readValue

      @Nullable public static <T> T readValue(@Nullable InputStream src, com.fasterxml.jackson.databind.JavaType valueType)
      将 InputStream 转换为指定 JavaType 类型的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      src - 包含 JSON 数据的 InputStream
      valueType - 指定的 JavaType 类型
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • readValue

      @Nullable public static <T> T readValue(@Nullable Reader src, Class<T> valueType)
      将 Reader 转换为指定类的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      src - 包含 JSON 数据的 Reader
      valueType - 要转换为的 Java 类
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • readValue

      @Nullable public static <T> T readValue(@Nullable Reader src, com.fasterxml.jackson.core.type.TypeReference<T> valueTypeRef)
      将 Reader 转换为指定泛型类型的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      src - 包含 JSON 数据的 Reader
      valueTypeRef - 泛型类型的 TypeReference
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • readValue

      @Nullable public static <T> T readValue(@Nullable Reader src, com.fasterxml.jackson.databind.JavaType valueType)
      将 Reader 转换为指定 JavaType 类型的 Java 对象。
      类型参数:
      T - 转换后的 Java 对象类型
      参数:
      src - 包含 JSON 数据的 Reader
      valueType - 指定的 JavaType 类型
      返回:
      反序列化后的 Java 对象,如果输入为空,则返回 null
    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
      设置 ApplicationContext 以便获取 ObjectMapper Bean。
      指定者:
      setApplicationContext 在接口中 org.springframework.context.ApplicationContextAware
      参数:
      applicationContext - 包含 ObjectMapper 的应用上下文
      抛出:
      org.springframework.beans.BeansException - 如果在访问应用上下文时发生错误