public class JacksonMapper extends Object
JSON String<->Java Object 的Mapper. 封装不同的输出风格,
使用不同的builder函数创建实例.| Modifier and Type | Field and Description |
|---|---|
static com.fasterxml.jackson.core.type.TypeReference<JsonObject> |
JSON_OBJECT_TYPE_REFERENCE
JsonObject 类型转换器 |
static com.fasterxml.jackson.core.type.TypeReference<LinkedHashMap<String,Object>> |
LINKED_HASH_MAP_S2O_TYPE_REFERENCE
LinkedHashMap 类型转换器 |
static com.fasterxml.jackson.core.type.TypeReference<SortedMap<String,String>> |
SORTED_MAP_S2S_TYPE_REFERENCE
SortedMap 类型转换器 |
| Constructor and Description |
|---|
JacksonMapper()
创建 Jackson Mapper 对象
|
JacksonMapper(com.fasterxml.jackson.annotation.JsonInclude.Include include)
创建 Jackson Mapper 对象
|
| Modifier and Type | Method and Description |
|---|---|
com.fasterxml.jackson.databind.JavaType |
constructCollectionType(Class<? extends Collection> collectionClass,
Class<?> elementClass)
构造Collection类型.
|
com.fasterxml.jackson.databind.JavaType |
constructMapType(Class<? extends Map> mapClass,
Class<?> keyClass,
Class<?> valueClass)
构造Map类型.
|
<T> T |
convert(Object object,
Class<T> clazz)
把object转出clazz对象,比如POJO和Map互换
|
<T> T |
convert(Object object,
com.fasterxml.jackson.databind.JavaType toValueType)
把object转出clazz对象,比如POJO和Map互换
|
<T> T |
convert(Object object,
com.fasterxml.jackson.core.type.TypeReference<T> toValueTypeRef)
把object转出clazz对象,比如POJO和Map互换
|
void |
enableEnumUseToString()
设定是否使用Enum的toString函数来读写Enum, 为False时使用Enum的name()函數來读写Enum, 默认为False.
|
JsonObject |
fromJson(String jsonString)
反序列化为Map对象
|
<T> T |
fromJson(String jsonString,
Class<T> clazz)
反序列化POJO或简单Collection如
List<String>. |
<T> T |
fromJson(String jsonString,
com.fasterxml.jackson.databind.JavaType javaType)
反序列化复杂Collection如
List<Bean>,
先使用createCollectionType()或constructMapType()构造类型, 然后调用本函数. |
<T> T |
fromJson(String jsonString,
com.fasterxml.jackson.core.type.TypeReference<T> typeReference)
反序列化为Map对象
|
JsonObject |
json2Map(String json)
JSON转换成Java对象
|
static JacksonMapper |
nonDefaultMapper()
创建只输出初始值被改变的属性到Json字符串的Mapper, 最节约的存储方式,建议在内部接口中使用。
|
static JacksonMapper |
nonEmptyMapper()
创建只输出非Null且非Empty(如List.isEmpty)的属性到Json字符串的Mapper,建议在外部接口中使用.
|
static JacksonMapper |
nonNullMapper()
创建只输出非Null的属性到Json字符串的Mapper,建议在外部接口中使用.
|
String |
toJson(Object object)
Object可以是POJO,也可以是Collection或数组。 如果对象为Null, 返回"null".
|
String |
toJsonP(String functionName,
Object object)
输出JSONP格式数据.
|
void |
update(String jsonString,
Object object)
当JSON里只含有Bean的部分属性时,更新一個已存在Bean,只覆盖部分的属性.
|
public static com.fasterxml.jackson.core.type.TypeReference<SortedMap<String,String>> SORTED_MAP_S2S_TYPE_REFERENCE
SortedMap 类型转换器public static com.fasterxml.jackson.core.type.TypeReference<LinkedHashMap<String,Object>> LINKED_HASH_MAP_S2O_TYPE_REFERENCE
LinkedHashMap 类型转换器public static com.fasterxml.jackson.core.type.TypeReference<JsonObject> JSON_OBJECT_TYPE_REFERENCE
JsonObject 类型转换器public JacksonMapper()
public JacksonMapper(com.fasterxml.jackson.annotation.JsonInclude.Include include)
include - 属性的风格public static JacksonMapper nonNullMapper()
public static JacksonMapper nonEmptyMapper()
public static JacksonMapper nonDefaultMapper()
public String toJson(Object object)
object - Java对象public <T> T fromJson(String jsonString, Class<T> clazz)
List<String>. 如果JSON字符串为Null或"null"字符串,
返回Null. 如果JSON字符串为"[]", 返回空集合. 如需反序列化复杂Collection如 List<MyBean>,
请使用fromJson(String, JavaType)T - 泛型jsonString - json字符串clazz - classfromJson(String, JavaType)public <T> T fromJson(String jsonString, com.fasterxml.jackson.databind.JavaType javaType)
List<Bean>,
先使用createCollectionType()或constructMapType()构造类型, 然后调用本函数.T - 泛型jsonString - json字符串javaType - JavaTypepublic <T> T fromJson(String jsonString, com.fasterxml.jackson.core.type.TypeReference<T> typeReference)
T - 泛型jsonString - json字符串typeReference - 目标类型public JsonObject fromJson(String jsonString)
jsonString - json字符串fromJson(String, TypeReference)public JsonObject json2Map(String json)
json - JSON字符串public <T> T convert(Object object, Class<T> clazz)
T - 泛型object - 原对象clazz - 目标类型public <T> T convert(Object object, com.fasterxml.jackson.databind.JavaType toValueType)
T - 泛型object - 原对象toValueType - 目标类型public <T> T convert(Object object, com.fasterxml.jackson.core.type.TypeReference<T> toValueTypeRef)
T - 泛型object - 原对象toValueTypeRef - 目标类型public com.fasterxml.jackson.databind.JavaType constructCollectionType(Class<? extends Collection> collectionClass, Class<?> elementClass)
collectionClass - 集合类型classelementClass - 集合中元素类型classpublic com.fasterxml.jackson.databind.JavaType constructMapType(Class<? extends Map> mapClass, Class<?> keyClass, Class<?> valueClass)
mapClass - Map类型classkeyClass - Key类型classvalueClass - Value类型classpublic void update(String jsonString, Object object)
jsonString - json字符串object - Java对象public String toJsonP(String functionName, Object object)
functionName - JavaScript function nameobject - Java对象public void enableEnumUseToString()
Copyright © 2018–2021. All rights reserved.