public class JSONUtil extends Object
| Constructor and Description |
|---|
JSONUtil() |
| Modifier and Type | Method and Description |
|---|---|
static JSONArray |
createArray()
创建 JSONArray
|
static JSONArray |
createArray(JSONConfig config)
创建 JSONArray
|
static JSONObject |
createObj()
创建JSONObject
|
static JSONObject |
createObj(JSONConfig config)
创建JSONObject
|
static String |
escape(String str)
转义显示不可见字符
|
static String |
formatJsonStr(String jsonStr)
格式化JSON字符串,此方法并不严格检查JSON的格式正确与否
|
static Object |
getByPath(JSON json,
String expression)
通过表达式获取JSON中嵌套的对象
.表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值 表达式栗子: persion persion.name persons[3] person.friends[5].name |
static <T> T |
getByPath(JSON json,
String expression,
T defaultValue)
通过表达式获取JSON中嵌套的对象
.表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值 表达式栗子: persion persion.name persons[3] person.friends[5].name |
static boolean |
isJson(String str)
Deprecated.
方法名称有歧义,请使用
isTypeJSON(String) |
static boolean |
isJsonArray(String str)
Deprecated.
方法名称有歧义,请使用
isTypeJSONArray(String) |
static boolean |
isJsonObj(String str)
Deprecated.
方法名称有歧义,请使用
isTypeJSONObject(String) |
static boolean |
isNull(Object obj)
是否为null对象,null的情况包括:
1.
|
static boolean |
isTypeJSON(String str)
是否为JSON类型字符串,首尾都为大括号或中括号判定为JSON字符串
|
static boolean |
isTypeJSONArray(String str)
是否为JSONArray类型的字符串,首尾都为中括号判定为JSONArray字符串
|
static boolean |
isTypeJSONObject(String str)
是否为JSONObject类型字符串,首尾都为大括号判定为JSONObject字符串
|
static JSON |
parse(Object obj)
转换对象为JSON,如果用户不配置JSONConfig,则JSON的有序与否与传入对象有关。
|
static JSON |
parse(Object obj,
JSONConfig config)
转换对象为JSON,如果用户不配置JSONConfig,则JSON的有序与否与传入对象有关。
|
static JSONArray |
parseArray(Object arrayOrCollection)
JSON字符串转JSONArray
|
static JSONArray |
parseArray(Object arrayOrCollection,
boolean ignoreNullValue)
JSON字符串转JSONArray
|
static JSONArray |
parseArray(Object arrayOrCollection,
JSONConfig config)
JSON字符串转JSONArray
|
static JSONArray |
parseArray(String jsonStr)
JSON字符串转JSONArray
|
static JSONObject |
parseFromXml(String xmlStr)
XML字符串转为JSONObject
|
static JSONObject |
parseObj(Object obj)
JSON字符串转JSONObject对象
此方法会忽略空值,但是对JSON字符串不影响 |
static JSONObject |
parseObj(Object obj,
boolean ignoreNullValue)
JSON字符串转JSONObject对象
|
static JSONObject |
parseObj(Object obj,
boolean ignoreNullValue,
boolean isOrder)
Deprecated.
isOrder参数不再有效
|
static JSONObject |
parseObj(Object obj,
JSONConfig config)
JSON字符串转JSONObject对象
此方法会忽略空值,但是对JSON字符串不影响 |
static JSONObject |
parseObj(String jsonStr)
JSON字符串转JSONObject对象
|
static void |
putByPath(JSON json,
String expression,
Object value)
设置表达式指定位置(或filed对应)的值
若表达式指向一个JSONArray则设置其坐标对应位置的值,若指向JSONObject则put对应key的值 注意:如果为JSONArray,则设置值得下标不能大于已有JSONArray的长度 .表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值 表达式栗子: persion persion.name persons[3] person.friends[5].name |
static void |
putDeserializer(Type type,
JSONDeserializer<?> deserializer)
加入自定义的反序列化器
|
static void |
putSerializer(Type type,
JSONArraySerializer<?> serializer)
加入自定义的序列化器
|
static void |
putSerializer(Type type,
JSONObjectSerializer<?> serializer)
加入自定义的序列化器
|
static String |
quote(String string)
对所有双引号做转义处理(使用双反斜杠做转义)
为了能在HTML中较好的显示,会将</转义为<\/ JSON字符串中不能包含控制字符和未经转义的引号和反斜杠 |
static String |
quote(String string,
boolean isWrap)
对所有双引号做转义处理(使用双反斜杠做转义)
为了能在HTML中较好的显示,会将</转义为<\/ JSON字符串中不能包含控制字符和未经转义的引号和反斜杠 |
static Writer |
quote(String str,
Writer writer)
对所有双引号做转义处理(使用双反斜杠做转义)
为了能在HTML中较好的显示,会将</转义为<\/ JSON字符串中不能包含控制字符和未经转义的引号和反斜杠 |
static Writer |
quote(String str,
Writer writer,
boolean isWrap)
对所有双引号做转义处理(使用双反斜杠做转义)
为了能在HTML中较好的显示,会将</转义为<\/ JSON字符串中不能包含控制字符和未经转义的引号和反斜杠 |
static JSON |
readJSON(File file,
Charset charset)
读取JSON
|
static JSONArray |
readJSONArray(File file,
Charset charset)
读取JSONArray
|
static JSONObject |
readJSONObject(File file,
Charset charset)
读取JSONObject
|
static <T> T |
toBean(JSONObject json,
Class<T> beanClass)
转为实体类对象,转换异常将被抛出
|
static <T> T |
toBean(JSON json,
Type beanType,
boolean ignoreError)
转为实体类对象
|
static <T> T |
toBean(JSON json,
TypeReference<T> typeReference,
boolean ignoreError)
转为实体类对象
|
static <T> T |
toBean(String jsonString,
Class<T> beanClass)
JSON字符串转为实体类对象,转换异常将被抛出
|
static <T> T |
toBean(String jsonString,
JSONConfig config,
Class<T> beanClass)
JSON字符串转为实体类对象,转换异常将被抛出
通过 JSONConfig可选是否忽略大小写、忽略null等配置 |
static <T> T |
toBean(String jsonString,
Type beanType,
boolean ignoreError)
JSON字符串转为实体类对象,转换异常将被抛出
|
static <T> T |
toBean(String jsonString,
TypeReference<T> typeReference,
boolean ignoreError)
JSON字符串转为实体类对象,转换异常将被抛出
|
static String |
toJsonPrettyStr(JSON json)
转为JSON字符串
|
static String |
toJsonPrettyStr(Object obj)
转换为格式化后的JSON字符串
|
static String |
toJsonStr(JSON json)
转为JSON字符串
|
static String |
toJsonStr(JSON json,
int indentFactor)
转为JSON字符串
|
static void |
toJsonStr(JSON json,
Writer writer)
转为JSON字符串,并写出到write
|
static String |
toJsonStr(Object obj)
转换为JSON字符串
|
static String |
toJsonStr(Object obj,
JSONConfig jsonConfig)
转换为JSON字符串
|
static void |
toJsonStr(Object obj,
Writer writer)
转换为JSON字符串并写出到writer
|
static <T> List<T> |
toList(JSONArray jsonArray,
Class<T> elementType)
将JSONArray转换为Bean的List,默认为ArrayList
|
static <T> List<T> |
toList(String jsonArray,
Class<T> elementType)
将JSONArray字符串转换为Bean的List,默认为ArrayList
|
static String |
toXmlStr(JSON json)
转换为XML字符串
|
static Object |
wrap(Object object,
JSONConfig jsonConfig)
在需要的时候包装对象
包装包括: null =》 JSONNull.NULL
array or collection =》 JSONArray
map =》 JSONObject
standard property (Double, String, et al) =》 原对象
来自于java包 =》 字符串
其它 =》 尝试包装为JSONObject,否则返回null
|
static JSONObject |
xmlToJson(String xml)
XML转JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。 |
public static JSONObject createObj()
public static JSONObject createObj(JSONConfig config)
config - JSON配置public static JSONArray createArray()
public static JSONArray createArray(JSONConfig config)
config - JSON配置public static JSONObject parseObj(String jsonStr)
jsonStr - JSON字符串public static JSONObject parseObj(Object obj)
obj - Bean对象或者Mappublic static JSONObject parseObj(Object obj, JSONConfig config)
obj - Bean对象或者Mapconfig - JSON配置public static JSONObject parseObj(Object obj, boolean ignoreNullValue)
obj - Bean对象或者MapignoreNullValue - 是否忽略空值,如果source为JSON字符串,不忽略空值@Deprecated public static JSONObject parseObj(Object obj, boolean ignoreNullValue, boolean isOrder)
obj - Bean对象或者MapignoreNullValue - 是否忽略空值,如果source为JSON字符串,不忽略空值isOrder - 是否有序public static JSONArray parseArray(String jsonStr)
jsonStr - JSON字符串public static JSONArray parseArray(Object arrayOrCollection)
arrayOrCollection - 数组或集合对象public static JSONArray parseArray(Object arrayOrCollection, JSONConfig config)
arrayOrCollection - 数组或集合对象config - JSON配置public static JSONArray parseArray(Object arrayOrCollection, boolean ignoreNullValue)
arrayOrCollection - 数组或集合对象ignoreNullValue - 是否忽略空值public static JSON parse(Object obj)
obj - 对象public static JSON parse(Object obj, JSONConfig config)
obj - 对象config - JSON配置,null使用默认配置public static JSONObject parseFromXml(String xmlStr)
xmlStr - XML字符串public static JSON readJSON(File file, Charset charset) throws IORuntimeException
file - JSON文件charset - 编码IORuntimeException - IO异常public static JSONObject readJSONObject(File file, Charset charset) throws IORuntimeException
file - JSON文件charset - 编码IORuntimeException - IO异常public static JSONArray readJSONArray(File file, Charset charset) throws IORuntimeException
file - JSON文件charset - 编码IORuntimeException - IO异常public static String toJsonStr(JSON json, int indentFactor)
json - JSONindentFactor - 每一级别的缩进public static String toJsonStr(JSON json)
json - JSONpublic static void toJsonStr(JSON json, Writer writer)
json - JSONwriter - Writerpublic static String toJsonPrettyStr(JSON json)
json - JSONpublic static String toJsonStr(Object obj)
obj - 被转为JSON的对象public static String toJsonStr(Object obj, JSONConfig jsonConfig)
obj - 被转为JSON的对象jsonConfig - JSON配置public static void toJsonStr(Object obj, Writer writer)
obj - 被转为JSON的对象writer - Writerpublic static String toJsonPrettyStr(Object obj)
obj - Bean对象public static <T> T toBean(String jsonString, Class<T> beanClass)
T - Bean类型jsonString - JSON字符串beanClass - 实体类对象public static <T> T toBean(String jsonString, JSONConfig config, Class<T> beanClass)
JSONConfig可选是否忽略大小写、忽略null等配置T - Bean类型jsonString - JSON字符串config - JSON配置beanClass - 实体类对象public static <T> T toBean(JSONObject json, Class<T> beanClass)
T - Bean类型json - JSONObjectbeanClass - 实体类对象public static <T> T toBean(String jsonString, TypeReference<T> typeReference, boolean ignoreError)
T - Bean类型jsonString - JSON字符串typeReference - TypeReference类型参考子类,可以获取其泛型参数中的Type类型ignoreError - 是否忽略错误public static <T> T toBean(String jsonString, Type beanType, boolean ignoreError)
T - Bean类型jsonString - JSON字符串beanType - 实体类对象类型ignoreError - 是否忽略错误public static <T> T toBean(JSON json, TypeReference<T> typeReference, boolean ignoreError)
T - Bean类型json - JSONObjecttypeReference - TypeReference类型参考子类,可以获取其泛型参数中的Type类型ignoreError - 是否忽略转换错误public static <T> T toBean(JSON json, Type beanType, boolean ignoreError)
T - Bean类型json - JSONObjectbeanType - 实体类对象类型ignoreError - 是否忽略转换错误public static <T> List<T> toList(String jsonArray, Class<T> elementType)
T - Bean类型jsonArray - JSONArray字符串elementType - List中元素类型public static <T> List<T> toList(JSONArray jsonArray, Class<T> elementType)
T - Bean类型jsonArray - JSONArrayelementType - List中元素类型public static Object getByPath(JSON json, String expression)
表达式栗子:
persion persion.name persons[3] person.friends[5].name
json - JSONexpression - 表达式JSON.getByPath(String)public static <T> T getByPath(JSON json, String expression, T defaultValue)
表达式栗子:
persion persion.name persons[3] person.friends[5].name
T - 值类型json - JSONexpression - 表达式defaultValue - 默认值JSON.getByPath(String)public static void putByPath(JSON json, String expression, Object value)
表达式栗子:
persion persion.name persons[3] person.friends[5].name
json - JSON,可以为JSONObject或JSONArrayexpression - 表达式value - 值public static String quote(String string)
string - 字符串public static String quote(String string, boolean isWrap)
string - 字符串isWrap - 是否使用双引号包装字符串public static Writer quote(String str, Writer writer) throws IOException
str - 字符串writer - WriterIOException - IO异常public static Writer quote(String str, Writer writer, boolean isWrap) throws IOException
str - 字符串writer - WriterisWrap - 是否使用双引号包装字符串IOException - IO异常public static Object wrap(Object object, JSONConfig jsonConfig)
null =》 JSONNull.NULLnullobject - 被包装的对象jsonConfig - JSON选项public static String formatJsonStr(String jsonStr)
jsonStr - JSON字符串@Deprecated public static boolean isJson(String str)
isTypeJSON(String)str - 字符串public static boolean isTypeJSON(String str)
str - 字符串@Deprecated public static boolean isJsonObj(String str)
isTypeJSONObject(String)str - 字符串public static boolean isTypeJSONObject(String str)
str - 字符串@Deprecated public static boolean isJsonArray(String str)
isTypeJSONArray(String)str - 字符串public static boolean isTypeJSONArray(String str)
str - 字符串public static boolean isNull(Object obj)
1.null2.JSONNull
obj - 对象public static JSONObject xmlToJson(String xml)
xml - XML字符串public static void putSerializer(Type type, JSONArraySerializer<?> serializer)
type - 对象类型serializer - 序列化器实现GlobalSerializeMapping.put(Type, JSONArraySerializer)public static void putSerializer(Type type, JSONObjectSerializer<?> serializer)
type - 对象类型serializer - 序列化器实现GlobalSerializeMapping.put(Type, JSONObjectSerializer)public static void putDeserializer(Type type, JSONDeserializer<?> deserializer)
type - 对象类型deserializer - 反序列化器实现GlobalSerializeMapping.put(Type, JSONDeserializer)Copyright © 2025. All rights reserved.