| 程序包 | 说明 |
|---|---|
| org.dromara.hutool.json |
JSON(JavaScript Object Notation JavaScript对象表示法)封装,包含以下组件:
JSONObject:使用键值对表示的数据类型,使用"{}"包围
JSONArray:使用列表表示的数据类型,使用"[]"包围
JSON封装主要包括JSON表示和JSON转换:
<--JSONConverter-- <---JSONParser----
Java对象 <-----------------> JSON对象 <-----------------> JSON字符串
------mapper-----> ---JSONWriter---->
|
| org.dromara.hutool.json.convert |
JSON中对象、值类型转换封装
|
| org.dromara.hutool.json.mapper |
Bean和JSON之间的映射封装,包括:
JSONObjectMapper: 转换对象为JSONObject
JSONArrayMapper: 转换对象为JSONArray
JSONValueMapper: 转换对象为JSON值
|
| org.dromara.hutool.json.serialize |
JSON序列化和反序列化,提供对象和JSON之间的转换
|
| org.dromara.hutool.json.writer |
JSON对象自定义转JSON字符串实现
|
| org.dromara.hutool.json.xml |
JSON与XML相互转换封装,基于json.org官方库改造
|
| 限定符和类型 | 方法和说明 |
|---|---|
JSONConfig |
JSONObject.config() |
JSONConfig |
JSONGetter.config()
获取JSON配置
|
JSONConfig |
JSONArray.config() |
JSONConfig |
JSON.config()
获取JSON配置
|
static JSONConfig |
JSONConfig.of()
创建默认的配置项
|
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.setStripTrailingZeros(boolean stripTrailingZeros)
设置是否去除末尾多余0,例如如果为true,5.0返回5
|
JSONConfig |
JSONConfig.setTransientSupport(boolean transientSupport)
设置是否支持transient关键字修饰和@Transient注解,如果支持,被修饰的字段或方法对应的字段将被忽略。
|
| 限定符和类型 | 方法和说明 |
|---|---|
static JSONArray |
JSONUtil.ofArray(JSONConfig config)
创建 JSONArray
|
static JSONObject |
JSONUtil.ofObj(JSONConfig config)
创建JSONObject
|
static Object |
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(Object json,
JSONConfig config,
Type type)
转为实体类对象
|
static CopyOptions |
InternalJSONUtil.toCopyOptions(JSONConfig config)
将
JSONConfig参数转换为Bean拷贝所用的CopyOptions |
static String |
JSONUtil.toJsonStr(Object obj,
JSONConfig jsonConfig)
转换为JSON字符串
|
| 构造器和说明 |
|---|
JSONArray(int initialCapacity,
JSONConfig config)
构造
默认使用 ArrayList 实现 |
JSONArray(JSONConfig config)
构造
默认使用 ArrayList 实现 |
JSONArray(Object object,
JSONConfig jsonConfig)
从对象构造
支持以下类型的参数: 1. |
JSONArray(Object object,
JSONConfig jsonConfig,
Predicate<Mutable<Object>> predicate)
从对象构造
支持以下类型的参数: 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,
Predicate<MutableEntry<String,Object>> predicate)
构建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中构建
|
| 限定符和类型 | 方法和说明 |
|---|---|
static JSONConverter |
JSONConverter.of(JSONConfig config)
创建JSON转换器
|
| 构造器和说明 |
|---|
JSONConverter(JSONConfig config)
构造
|
| 限定符和类型 | 方法和说明 |
|---|---|
static JSONValueMapper |
JSONValueMapper.of(JSONConfig jsonConfig)
创建ObjectMapper
|
| 构造器和说明 |
|---|
JSONValueMapper(JSONConfig jsonConfig)
构造
|
| 构造器和说明 |
|---|
DateJSONString(Object dateObj,
JSONConfig jsonConfig)
构造
|
| 限定符和类型 | 方法和说明 |
|---|---|
JSONConfig |
JSONWriter.getConfig()
获取JSON配置
|
| 限定符和类型 | 方法和说明 |
|---|---|
static JSONWriter |
JSONWriter.of(Writer writer,
int indentFactor,
int indent,
JSONConfig config)
创建JSONWriter
|
| 构造器和说明 |
|---|
JSONWriter(Writer writer,
int indentFactor,
int indent,
JSONConfig config)
构造
|
| 构造器和说明 |
|---|
XMLTokener(CharSequence s,
JSONConfig config)
Construct an XMLTokener from a string.
|
Copyright © 2024. All rights reserved.