| 程序包 | 说明 |
|---|---|
| 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.jwt |
JSON Web Token (JWT)封装
|
| org.dromara.hutool.json.mapper |
Bean和JSON之间的映射封装。
|
| org.dromara.hutool.json.serialize |
JSON序列化和反序列化,提供对象和JSON之间的转换
|
| org.dromara.hutool.json.xml |
JSON与XML相互转换封装,基于json.org官方库改造
|
| 限定符和类型 | 方法和说明 |
|---|---|
JSONObject |
JSONObject.append(String key,
Object value)
追加值.
|
JSONObject |
JSONObject.clone() |
default JSONObject |
JSONGetter.getJSONObject(K key)
获得JSONObject对象
如果值为其它类型对象,尝试转换为 JSONObject返回,否则抛出异常 |
JSONObject |
JSONObject.increment(String key)
对值加一,如果值不存在,赋值1,如果为数字类型,做加一操作
|
static JSONObject |
JSONUtil.ofObj()
创建JSONObject
|
static JSONObject |
JSONUtil.ofObj(JSONConfig config)
创建JSONObject
|
static JSONObject |
JSONUtil.parseFromXml(String xmlStr)
XML字符串转为JSONObject
|
static JSONObject |
JSONUtil.parseObj(Object obj)
JSON字符串转JSONObject对象
此方法会忽略空值,但是对JSON字符串不影响 |
static JSONObject |
JSONUtil.parseObj(Object obj,
boolean ignoreNullValue)
JSON字符串转JSONObject对象
|
static JSONObject |
JSONUtil.parseObj(Object obj,
JSONConfig config)
JSON字符串转JSONObject对象
此方法会忽略空值,但是对JSON字符串不影响 |
static JSONObject |
JSONUtil.readJSONObject(File file,
Charset charset)
读取JSONObject
|
JSONObject |
JSONObject.set(String key,
Object value)
设置键值对到JSONObject中,在忽略null模式下,如果值为
null,将此键移除 |
JSONObject |
JSONObject.set(String key,
Object value,
Predicate<MutableEntry<String,Object>> predicate)
一次性Put 键值对,如果key已经存在抛出异常,如果键值中有null值,忽略
|
JSONObject |
JSONObject.set(String key,
Object value,
Predicate<MutableEntry<String,Object>> predicate,
boolean checkDuplicate)
设置键值对到JSONObject中,在忽略null模式下,如果值为
null,将此键移除 |
JSONObject |
JSONObject.setDateFormat(String format)
设置转为字符串时的日期格式,默认为时间戳(null值)
此方法设置的日期格式仅对转换为JSON字符串有效,对解析JSON为bean无效。 |
JSONObject |
JSONObject.setFields(SerSupplier<?>... fields)
通过lambda批量设置值
实际使用时,可以使用getXXX的方法引用来完成键值对的赋值: User user = GenericBuilder.of(User::new).with(User::setUsername, "hutool").build(); (new JSONObject()).setFields(user::getNickname, user::getUsername); |
JSONObject |
JSONObject.setOpt(String key,
Object value)
在键和值都为非空的情况下put到JSONObject中
|
JSONObject |
JSONSupport.toJSON() |
JSONObject |
JSONArray.toJSONObject(JSONArray names)
根据给定名列表,与其位置对应的值组成JSONObject
|
static JSONObject |
JSONUtil.xmlToJson(String xml)
XML转JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。 |
| 限定符和类型 | 方法和说明 |
|---|---|
Iterator<JSONObject> |
JSONObjectIter.iterator() |
Iterable<JSONObject> |
JSONArray.jsonIter()
当此JSON列表的每个元素都是一个JSONObject时,可以调用此方法返回一个Iterable,便于使用foreach语法遍历
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
JSONParser.parseTo(JSONObject jsonObject,
Predicate<MutableEntry<String,Object>> predicate)
解析
JSONTokener中的字符到目标的JSONObject中 |
static void |
InternalJSONUtil.propertyPut(JSONObject jsonObject,
Object key,
Object value,
Predicate<MutableEntry<String,Object>> predicate)
将Property的键转化为JSON形式
用于识别类似于:org.dromara.hutool.json这类用点隔开的键 注意:不允许重复键 |
| 限定符和类型 | 方法和说明 |
|---|---|
JSONObject |
Claims.getClaimsJson()
获取Claims的JSON字符串形式
|
JSONObject |
JWT.getHeaders()
获取所有头信息
|
JSONObject |
JWT.getPayloads()
获取所有载荷信息
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
JSONObjectMapper.mapTo(JSONObject jsonObject)
将给定对象转换为
JSONObject |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
TemporalAccessorSerializer.serialize(JSONObject json,
TemporalAccessor bean) |
| 限定符和类型 | 方法和说明 |
|---|---|
static JSONObject |
JSONXMLUtil.toJSONObject(JSONObject jo,
String xmlStr,
boolean keepStrings)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
static JSONObject |
JSONXMLUtil.toJSONObject(String string)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
static JSONObject |
JSONXMLUtil.toJSONObject(String string,
boolean keepStrings)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
JSONXMLParser.parseJSONObject(JSONObject jo,
String xmlStr,
boolean keepStrings)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
static JSONObject |
JSONXMLUtil.toJSONObject(JSONObject jo,
String xmlStr,
boolean keepStrings)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
Copyright © 2023. All rights reserved.