类 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
readTree
(InputStream in) 将 InputStream 转换为 JsonNode 对象。static com.fasterxml.jackson.databind.JsonNode
将 Reader 转换为 JsonNode 对象。static com.fasterxml.jackson.databind.JsonNode
将 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
将 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
将 Reader 转换为指定泛型类型的 Java 对象。static <T> T
将 Reader 转换为指定 JavaType 类型的 Java 对象。static <T> T
将 Reader 转换为指定类的 Java 对象。static <T> T
将 JSON 字符串转换为指定泛型类型的 Java 对象。static <T> T
将 JSON 字符串转换为指定类的 Java 对象。void
setApplicationContext
(org.springframework.context.ApplicationContext applicationContext) 设置 ApplicationContext 以便获取 ObjectMapper Bean。static String
将 Java 对象序列化为 JSON 字符串。static byte[]
toJsonAsBytes
(Object value) 将 Java 对象序列化为 JSON 字节数组。static String
toPrettyJson
(Object value) 将 Java 对象序列化为格式化(漂亮打印)的 JSON 字符串。
-
构造器详细资料
-
JsonUtils
public JsonUtils()
-
-
方法详细资料
-
getInstance
public static com.fasterxml.jackson.databind.ObjectMapper getInstance()获取 ObjectMapper 实例。 这是一个单例实例,可用于 JSON 序列化和反序列化。- 返回:
- ObjectMapper 实例
-
toJson
-
toPrettyJson
-
toJsonAsBytes
将 Java 对象序列化为 JSON 字节数组。- 参数:
value
- 要序列化的 Java 对象- 返回:
- 序列化后的 JSON 字节数组,如果输入为空,则返回 null
-
readTree
将 JSON 字符串转换为 JsonNode 对象。- 参数:
content
- 要反序列化的 JSON 字符串- 返回:
- 转换后的 JsonNode 对象
-
readTree
将 InputStream 转换为 JsonNode 对象。- 参数:
in
- 要读取的 InputStream- 返回:
- 转换后的 JsonNode 对象
-
readTree
将 Reader 转换为 JsonNode 对象。- 参数:
r
- 要读取的 Reader- 返回:
- 转换后的 JsonNode 对象
-
readTree
public static com.fasterxml.jackson.databind.JsonNode readTree(byte[] content) 将字节数组转换为 JsonNode 对象。- 参数:
content
- 包含 JSON 数据的字节数组- 返回:
- 转换后的 JsonNode 对象
-
readValue
-
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
将 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
将 InputStream 转换为指定类的 Java 对象。- 类型参数:
T
- 转换后的 Java 对象类型- 参数:
src
- 包含 JSON 数据的 InputStreamvalueType
- 要转换为的 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 数据的 InputStreamvalueTypeRef
- 泛型类型的 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 数据的 InputStreamvalueType
- 指定的 JavaType 类型- 返回:
- 反序列化后的 Java 对象,如果输入为空,则返回 null
-
readValue
-
readValue
@Nullable public static <T> T readValue(@Nullable Reader src, com.fasterxml.jackson.core.type.TypeReference<T> valueTypeRef) 将 Reader 转换为指定泛型类型的 Java 对象。- 类型参数:
T
- 转换后的 Java 对象类型- 参数:
src
- 包含 JSON 数据的 ReadervalueTypeRef
- 泛型类型的 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 数据的 ReadervalueType
- 指定的 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
- 如果在访问应用上下文时发生错误
-