Package | Description |
---|---|
org.dromara.hutool.json |
JSON(JavaScript Object Notation JavaScript对象表示法)封装
规范见:https://www.rfc-editor.org/rfc/rfc8259 包含以下组件: JSONObject: 使用键值对表示的数据类型,使用"{}"包围 JSONArray: 使用列表表示的数据类型,使用"[]"包围 JSONPrimitive:表示boolean、String、Number等原始类型 JSON封装主要包括JSON表示和JSON转换:
<-----JSONMapper----- <---JSONParser----
Java对象 <====================> JSON对象 <=================> JSON字符串
-----JSONMapper-----> ---JSONWriter---->
当然,为了高效转换,如果没有自定义需求,Java对象可以不通过JSON对象与JSON字符串转换:
JSONTokener:JSON字符串底层解析器,通过Stream方式读取JSON字符串并对不同字段自定义处理。 |
org.dromara.hutool.json.jwt |
JSON Web Token (JWT)封装
规范见:https://datatracker.ietf.org/doc/html/rfc7519 |
org.dromara.hutool.json.serializer |
JSON序列化和反序列化,提供对象和JSON之间的转换,我们定义:
1.
|
org.dromara.hutool.json.support |
JSON的支持类,如用于转换和BeanPath操作的对象,还有用于格式化的对象等
|
org.dromara.hutool.json.xml |
JSON与XML相互转换封装,基于json.org官方库改造
|
Modifier and Type | Method and Description |
---|---|
JSONObject |
JSONObject.append(String key,
Object value)
追加值.
|
default JSONObject |
JSON.asJSONObject()
转为JSONObject
|
default JSONObject |
JSONGetter.getJSONObject(K key)
获得JSONObject对象
如果值为其它类型对象,尝试转换为 JSONObject 返回,否则抛出异常 |
JSONObject |
JSONObject.increment(String key)
对值加一,如果值不存在,赋值1,如果为数字类型,做加一操作
|
static JSONObject |
JSONUtil.ofObj()
创建JSONObject
|
JSONObject |
JSONFactory.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字符串不影响 |
JSONObject |
JSONFactory.parseObj(Object obj)
对象转
JSONObject ,支持:
CharSequence ,解析{...}字符串
Bean解析
Map解析
|
static JSONObject |
JSONUtil.parseObj(Object obj,
JSONConfig config)
JSON字符串转JSONObject对象
此方法会忽略空值,但是对JSON字符串不影响 |
static JSONObject |
JSONUtil.parseObj(Object obj,
JSONConfig config,
Predicate<MutableEntry<Object,Object>> predicate)
对象转JSONObject对象
|
JSONObject |
JSONObject.putAllValue(Map<?,?> map)
设置所有键值对到JSONObject中,在忽略null模式下,如果值为
null ,将此键移除 |
JSONObject |
JSONObject.putFields(SerSupplier<?>... fields)
通过lambda批量设置值
实际使用时,可以使用getXXX的方法引用来完成键值对的赋值:
User user = GenericBuilder.of(User::new).with(User::setUsername, "hutool").build();
(new JSONObject()).setFields(user::getNickname, user::getUsername);
|
JSONObject |
JSONObject.putNull(String key)
设置设置
null 值。 |
JSONObject |
JSONObject.putValue(String key,
Boolean value)
设置键值对到JSONObject中,在忽略null模式下,如果值为
null ,将此键移除 |
JSONObject |
JSONObject.putValue(String key,
Character value)
设置键值对到JSONObject中,在忽略null模式下,如果值为
null ,将此键移除 |
JSONObject |
JSONObject.putValue(String key,
Number value)
设置键值对到JSONObject中,在忽略null模式下,如果值为
null ,将此键移除 |
JSONObject |
JSONObject.putValue(String key,
Object value)
设置键值对到JSONObject中,在忽略null模式下,如果值为
null ,将此键移除 |
JSONObject |
JSONObject.putValue(String key,
String value)
设置键值对到JSONObject中,在忽略null模式下,如果值为
null ,将此键移除 |
static JSONObject |
JSONUtil.readJSONObject(File file,
Charset charset)
读取JSONObject
|
JSONObject |
JSONArray.toJSONObject(JSONArray names)
根据给定名列表,与其位置对应的值组成JSONObject
|
static JSONObject |
JSONUtil.xmlToJson(String xml)
XML转JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。 |
Modifier and Type | Method and Description |
---|---|
JSONObject |
Claims.getClaimsJson()
获取Claims的JSON字符串形式
|
JSONObject |
JWT.getHeaders()
获取所有头信息
|
JSONObject |
JWT.getPayloads()
获取所有载荷信息
|
Modifier and Type | Method and Description |
---|---|
default JSONObject |
JSONContext.getOrCreateObj()
获取当前JSON对象,如果为非JSONObject,则创建一个JSONObject对象
|
JSONObject |
JSONMapper.toJSONObject(Object obj)
在需要的时候转换映射对象
包装包括: map =》 JSONObject 其它 =》 尝试包装为JSONObject,否则返回 null
|
Modifier and Type | Method and Description |
---|---|
JSONObject |
BeanToJSONCopier.copy() |
Constructor and Description |
---|
BeanToJSONCopier(Object source,
JSONObject target,
JSONFactory factory)
构造
|
JSONObjectValueProvider(JSONObject jsonObject)
构造
|
Modifier and Type | Method and Description |
---|---|
static JSONObject |
JSONXMLUtil.toJSONObject(String string)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
static JSONObject |
JSONXMLUtil.toJSONObject(String xmlStr,
JSONObject jo,
ParseConfig parseConfig)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
static JSONObject |
JSONXMLUtil.toJSONObject(String string,
ParseConfig parseConfig)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
Modifier and Type | Method and Description |
---|---|
void |
JSONXMLParser.parseJSONObject(String xmlStr,
JSONObject jo)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
static JSONObject |
JSONXMLUtil.toJSONObject(String xmlStr,
JSONObject jo,
ParseConfig parseConfig)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
Copyright © 2025. All rights reserved.