| 程序包 | 说明 |
|---|---|
| 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.xml |
JSON与XML相互转换封装,基于json.org官方库改造
|
| 限定符和类型 | 方法和说明 |
|---|---|
JSONException |
JSONTokener.syntaxError(String message)
Make a JSONException to signal a syntax error.
|
| 限定符和类型 | 方法和说明 |
|---|---|
JSONObject |
JSONObject.append(String key,
Object value)
追加值.
|
JSONObject |
JSONObject.append(String key,
Object value,
Predicate<MutableEntry<String,Object>> predicate)
追加值.
|
void |
JSONTokener.back()
将标记回退到第一个字符,重新开始解析新的JSON
|
JSONObject |
JSONObject.increment(String key)
对值加一,如果值不存在,赋值1,如果为数字类型,做加一操作
|
String |
JSONArray.join(String separator)
JSONArray转为以
separator为分界符的字符串 |
boolean |
JSONTokener.more()
源字符串是否有更多的字符
|
char |
JSONTokener.next()
获得源字符串中的下一个字符
|
char |
JSONTokener.next(char c)
读取下一个字符,并比对是否和指定字符匹配
|
String |
JSONTokener.next(int n)
获得接下来的n个字符
|
char |
JSONTokener.nextClean()
获得下一个字符,跳过空白符
|
String |
JSONTokener.nextString(char quote)
返回当前位置到指定引号前的所有字符,反斜杠的转义符也会被处理。
|
String |
JSONTokener.nextTo(char delimiter)
获得从当前位置直到分隔符(不包括分隔符)或行尾的的所有字符。
|
String |
JSONTokener.nextTo(String delimiters)
Get the text up but not including one of the specified delimiter characters or the end of line, whichever comes first.
|
Object |
JSONTokener.nextValue(boolean getOnlyStringValue)
获得下一个值,值类型可以是Boolean, Double, Integer, JSONArray, JSONObject, Long, or String
|
JSONArray |
JSONArray.put(int index,
Object value)
加入或者替换JSONArray中指定Index的值,如果index大于JSONArray的长度,将在指定index设置值,之前的位置填充JSONNull.Null
|
Object |
JSONObject.put(String key,
Object value)
PUT 键值对到JSONObject中,在忽略null模式下,如果值为
null,将此键移除 |
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.setOpt(String key,
Object value)
在键和值都为非空的情况下put到JSONObject中
|
char |
JSONTokener.skipTo(char to)
Skip characters until the next character is the requested character.
|
JSONArray |
JSONObject.toJSONArray(Collection<String> names)
将指定KEY列表的值组成新的JSONArray
|
JSONObject |
JSONArray.toJSONObject(JSONArray names)
根据给定名列表,与其位置对应的值组成JSONObject
|
default String |
JSON.toJSONString(int indentFactor)
格式化输出JSON字符串
|
default String |
JSON.toStringPretty()
格式化打印JSON,缩进为4个空格
|
default Writer |
JSON.write(Writer writer)
将JSON内容写入Writer,无缩进
Warning: This method assumes that the data structure is acyclical. |
Writer |
JSONObject.write(Writer writer,
int indentFactor,
int indent,
Predicate<MutableEntry<Object,Object>> predicate)
将JSON内容写入Writer
支持过滤器,即选择哪些字段或值不写出 |
Writer |
JSONArray.write(Writer writer,
int indentFactor,
int indent,
Predicate<MutableEntry<Object,Object>> predicate) |
Writer |
JSON.write(Writer writer,
int indentFactor,
int indent,
Predicate<MutableEntry<Object,Object>> predicate)
将JSON内容写入Writer
Warning: This method assumes that the data structure is acyclical. |
| 构造器和说明 |
|---|
JSONArray(Object object)
从对象构造,忽略
null的值支持以下类型的参数: 1. |
JSONArray(Object object,
JSONConfig jsonConfig)
从对象构造
支持以下类型的参数: 1. |
JSONArray(Object object,
JSONConfig jsonConfig,
Predicate<Mutable<Object>> predicate)
从对象构造
支持以下类型的参数: 1. |
JSONTokener(InputStream inputStream,
JSONConfig config)
从InputStream中构建,使用UTF-8编码
|
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
JSONConverter.toJSON(Object obj)
实现Object对象转换为
JSON,支持的对象:
String: 转换为相应的对象,"和'包围的字符串返回原字符串,""返回null
Array、Iterable、Iterator:转换为JSONArray
Bean对象:转为JSONObject
Number、Boolean:返回原对象
null:返回null
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
JSONArrayMapper.mapTo(JSONArray jsonArray)
将给定对象转换为
JSONArray |
| 限定符和类型 | 方法和说明 |
|---|---|
String |
XMLTokener.nextCDATA()
Get the text in the CDATA block.
|
Object |
XMLTokener.nextContent()
Get the next XML outer token, trimming whitespace.
|
Object |
XMLTokener.nextEntity(char ampersand)
Return the next entity.
|
Object |
XMLTokener.nextMeta()
Returns the next XML meta token.
|
Object |
XMLTokener.nextToken()
Get the next XML Token.
|
void |
JSONXMLParser.parseJSONObject(String xmlStr,
JSONObject jo)
转换XML为JSONObject
转换过程中一些信息可能会丢失,JSON中无法区分节点和属性,相同的节点将被处理为JSONArray。
|
boolean |
XMLTokener.skipPast(String to)
Skip characters until past the requested string.
|
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。
|
static String |
JSONXMLUtil.toXml(Object object)
转换JSONObject为XML
|
static String |
JSONXMLSerializer.toXml(Object object)
转换JSONObject为XML
Convert a JSONObject into a well-formed, element-normal XML string.
|
static String |
JSONXMLUtil.toXml(Object object,
String tagName)
转换JSONObject为XML
|
static String |
JSONXMLSerializer.toXml(Object object,
String tagName)
转换JSONObject为XML
|
static String |
JSONXMLUtil.toXml(Object object,
String tagName,
String... contentKeys)
转换JSONObject为XML
|
static String |
JSONXMLSerializer.toXml(Object object,
String tagName,
String... contentKeys)
转换JSONObject为XML
|
Copyright © 2024. All rights reserved.