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
- JSONArray
elementType
- List中元素类型public static Object getByPath(JSON json, String expression)
表达式栗子:
persion persion.name persons[3] person.friends[5].name
json
- JSON
expression
- 表达式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
- JSON
expression
- 表达式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.NULL
null
object
- 被包装的对象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.null
2.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 © 2024. All rights reserved.