public interface JSON extends Cloneable, Serializable, IJSONTypeConverter
Modifier and Type | Method and Description |
---|---|
Object |
getByPath(String expression)
通过表达式获取JSON中嵌套的对象
.表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值 表达式栗子: persion persion.name persons[3] person.friends[5].name |
<T> T |
getByPath(String expression,
Class<T> resultType)
通过表达式获取JSON中嵌套的对象
.表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值 表达式栗子: persion persion.name persons[3] person.friends[5].name 获取表达式对应值后转换为对应类型的值 |
<T> T |
getByPath(String expression,
TypeReference<T> targetType)
通过表达式获取JSON中嵌套的对象
.表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值 表达式栗子: persion persion.name persons[3] person.friends[5].name 获取表达式对应值后转换为对应类型的值 |
JSONConfig |
getConfig()
获取JSON配置
|
void |
putByPath(String expression,
Object value)
设置表达式指定位置(或filed对应)的值
若表达式指向一个JSONArray则设置其坐标对应位置的值,若指向JSONObject则put对应key的值 注意:如果为JSONArray,设置值下标小于其长度,将替换原有值,否则追加新值 .表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值 表达式栗子: persion persion.name persons[3] person.friends[5].name |
default <T> T |
toBean(Class<T> clazz)
转为实体类对象,转换异常将被抛出
|
default <T> T |
toBean(Type type)
转为实体类对象
|
default <T> T |
toBean(Type type,
boolean ignoreError)
Deprecated.
请使用
toBean(Type) , ignoreError在JSONConfig中生效 |
default <T> T |
toBean(TypeReference<T> reference)
转为实体类对象,转换异常将被抛出
|
default String |
toJSONString(int indentFactor)
格式化输出JSON字符串
|
default String |
toStringPretty()
格式化打印JSON,缩进为4个空格
|
default Writer |
write(Writer writer)
将JSON内容写入Writer,无缩进
Warning: This method assumes that the data structure is acyclical. |
Writer |
write(Writer writer,
int indentFactor,
int indent)
将JSON内容写入Writer
Warning: This method assumes that the data structure is acyclical. |
JSONConfig getConfig()
JSONConfig
Object getByPath(String expression)
表达式栗子:
persion persion.name persons[3] person.friends[5].name
expression
- 表达式BeanPath.get(Object)
void putByPath(String expression, Object value)
表达式栗子:
persion persion.name persons[3] person.friends[5].name
expression
- 表达式value
- 值<T> T getByPath(String expression, Class<T> resultType)
表达式栗子:
persion persion.name persons[3] person.friends[5].name
获取表达式对应值后转换为对应类型的值
T
- 返回值类型expression
- 表达式resultType
- 返回值类型BeanPath.get(Object)
<T> T getByPath(String expression, TypeReference<T> targetType)
表达式栗子:
persion persion.name persons[3] person.friends[5].name
获取表达式对应值后转换为对应类型的值
expression
- 表达式targetType
- 返回值类型BeanPath.get(Object)
default String toStringPretty() throws JSONException
JSONException
- 包含非法数抛出此异常default String toJSONString(int indentFactor) throws JSONException
indentFactor
- 每层缩进空格数JSONException
- 包含非法数抛出此异常default Writer write(Writer writer) throws JSONException
writer
- WriterJSONException
- JSON相关异常Writer write(Writer writer, int indentFactor, int indent) throws JSONException
writer
- writerindentFactor
- 缩进因子,定义每一级别增加的缩进量indent
- 本级别缩进量JSONException
- JSON相关异常default <T> T toBean(Class<T> clazz)
T
- Bean类型clazz
- 实体类default <T> T toBean(TypeReference<T> reference)
T
- Bean类型reference
- TypeReference
类型参考子类,可以获取其泛型参数中的Type类型default <T> T toBean(Type type)
toBean
in interface IJSONTypeConverter
T
- Bean类型type
- Type
@Deprecated default <T> T toBean(Type type, boolean ignoreError)
toBean(Type)
, ignoreError在JSONConfig中生效T
- Bean类型type
- Type
ignoreError
- 是否忽略转换错误Copyright © 2024. All rights reserved.