Package | Description |
---|---|
cn.hutool.json |
JSON封装,基于json.org官方库改造
|
cn.hutool.json.serialize |
JSON自定义序列化和反序列化接口和默认实现
|
Modifier and Type | Method and Description |
---|---|
static JSONConfig |
JSONConfig.create()
创建默认的配置项
|
JSONConfig |
JSONObject.getConfig() |
JSONConfig |
JSONGetter.getConfig()
获取JSON配置
|
JSONConfig |
JSONArray.getConfig() |
JSONConfig |
JSON.getConfig()
获取JSON配置
|
JSONConfig |
JSONConfig.setCheckDuplicate(boolean checkDuplicate)
是否检查多个相同的key
|
JSONConfig |
JSONConfig.setDateFormat(String dateFormat)
设置日期格式,null表示默认的时间戳
此方法设置的日期格式仅对转换为JSON字符串有效,对解析JSON为bean无效。 |
JSONConfig |
JSONConfig.setIgnoreCase(boolean ignoreCase)
设置是否忽略键的大小写
|
JSONConfig |
JSONConfig.setIgnoreError(boolean ignoreError)
设置是否忽略转换过程中的异常
|
JSONConfig |
JSONConfig.setIgnoreNullValue(boolean ignoreNullValue)
设置是否忽略null值
|
JSONConfig |
JSONConfig.setKeyComparator(Comparator<String> keyComparator)
设置键排序规则
键排序规则, null 表示不排序,不排序情况下,按照加入顺序排序 |
JSONConfig |
JSONConfig.setNatureKeyComparator()
设置自然排序,即按照字母顺序排序
|
JSONConfig |
JSONConfig.setOrder(boolean order)
Deprecated.
始终有序,无需设置
|
JSONConfig |
JSONConfig.setStripTrailingZeros(boolean stripTrailingZeros)
设置是否去除末尾多余0,例如如果为true,5.0返回5
|
JSONConfig |
JSONConfig.setTransientSupport(boolean transientSupport)
设置是否支持transient关键字修饰和@Transient注解,如果支持,被修饰的字段或方法对应的字段将被忽略。
|
JSONConfig |
JSONConfig.setWriteLongAsString(boolean writeLongAsString)
设置是否将Long值写出为字符串类型
|
Modifier and Type | Method and Description |
---|---|
static JSONArray |
JSONUtil.createArray(JSONConfig config)
创建 JSONArray
|
static JSONObject |
JSONUtil.createObj(JSONConfig config)
创建JSONObject
|
protected static <T> T |
JSONConverter.jsonConvert(Type targetType,
Object value,
JSONConfig jsonConfig)
|
static JSON |
JSONUtil.parse(Object obj,
JSONConfig config)
转换对象为JSON,如果用户不配置JSONConfig,则JSON的有序与否与传入对象有关。
|
static JSONArray |
JSONUtil.parseArray(Object arrayOrCollection,
JSONConfig config)
JSON字符串转JSONArray
|
static JSONObject |
JSONUtil.parseObj(Object obj,
JSONConfig config)
JSON字符串转JSONObject对象
此方法会忽略空值,但是对JSON字符串不影响 |
static <T> T |
JSONUtil.toBean(String jsonString,
JSONConfig config,
Class<T> beanClass)
JSON字符串转为实体类对象,转换异常将被抛出
通过 JSONConfig 可选是否忽略大小写、忽略null等配置 |
static String |
JSONUtil.toJsonStr(Object obj,
JSONConfig jsonConfig)
转换为JSON字符串
|
static Object |
JSONUtil.wrap(Object object,
JSONConfig jsonConfig)
在需要的时候包装对象
包装包括: null =》 JSONNull.NULL
array or collection =》 JSONArray
map =》 JSONObject
standard property (Double, String, et al) =》 原对象
来自于java包 =》 字符串
其它 =》 尝试包装为JSONObject,否则返回null
|
Constructor and Description |
---|
JSONArray(int initialCapacity,
JSONConfig config)
构造
默认使用 ArrayList 实现 |
JSONArray(JSONConfig config)
构造
默认使用 ArrayList 实现 |
JSONArray(Object object,
JSONConfig jsonConfig)
从对象构造
支持以下类型的参数: 1. |
JSONArray(Object object,
JSONConfig jsonConfig,
Filter<Mutable<Object>> filter)
从对象构造
支持以下类型的参数: 1. |
JSONObject(int capacity,
JSONConfig config)
构造
|
JSONObject(JSONConfig config)
构造
|
JSONObject(Object source,
JSONConfig config)
构建JSONObject,规则如下:
value为Map,将键值对加入JSON对象
value为JSON字符串(CharSequence),使用JSONTokener解析
value为JSONTokener,直接解析
value为普通JavaBean,如果为普通的JavaBean,调用其getters方法(getXXX或者isXXX)获得值,加入到JSON对象。
|
JSONObject(Object source,
JSONConfig config,
Filter<MutablePair<String,Object>> filter)
构建JSONObject,规则如下:
value为Map,将键值对加入JSON对象
value为JSON字符串(CharSequence),使用JSONTokener解析
value为JSONTokener,直接解析
value为普通JavaBean,如果为普通的JavaBean,调用其getters方法(getXXX或者isXXX)获得值,加入到JSON对象。
|
JSONTokener(CharSequence s,
JSONConfig config)
从字符串中构建
|
JSONTokener(InputStream inputStream,
JSONConfig config)
从InputStream中构建,使用UTF-8编码
|
JSONTokener(Reader reader,
JSONConfig config)
从Reader中构建
|
XMLTokener(CharSequence s,
JSONConfig config)
Construct an XMLTokener from a string.
|
Modifier and Type | Method and Description |
---|---|
static JSONWriter |
JSONWriter.of(Writer writer,
int indentFactor,
int indent,
JSONConfig config)
创建JSONWriter
|
Constructor and Description |
---|
JSONWriter(Writer writer,
int indentFactor,
int indent,
JSONConfig config)
构造
|
Copyright © 2024. All rights reserved.