public class JsonConverter
extends java.lang.Object
JSON 转换器。
可以将 JSON 字符串转换为 Java 对象, 将一个普通Java 对象转换成一个 JSONObject 对象, 如果传入对象是基本类型,则不转换。
示例代码:
JsonConverter jsonC = new JsonConverter(); Status status = Status.CLIENT_ERROR_BAD_REQUEST; Object obj = jsonC.toFormatedObject(status);
| 限定符和类型 | 类和说明 | 
|---|---|
static class  | 
JsonConverter.FieldInfo
字段类型类。 
 | 
| 构造器和说明 | 
|---|
JsonConverter()
构造函数。 
 | 
| 限定符和类型 | 方法和说明 | 
|---|---|
static void | 
addDecoderResolver(JsonDecoderResolver resolver)
添加反序列化器解决者。 
 | 
static void | 
addEncoderResolver(JsonEncoderResolver resolver)
添加序列化器解决者。 
 | 
void | 
addTypeRestrict(java.lang.Class<?> type, java.lang.String fieldName, JsonConverter.FieldInfo restrict)
添加类型限定 ,用于指出某个类型的某个字段的描述。 
 | 
<T> T | 
commonObjectDecoder(java.lang.String jsonStr, java.lang.Class<T> targetClass, DecoderSetting decoderSetting)
普通对象的转换,要求待解码的对象中没有类型为List ,Map ,Set 的属性。 
 | 
<T> T | 
commonObjectDecoder(java.lang.String jsonStr, java.lang.Class<T> targetClass, java.util.Set<java.lang.String> notDecoderedFieldSet, DecoderSetting decoderSetting)
普通对象的转换,要求待解码的对象中没有类型为List ,Map ,Set 的属性。 
 | 
static java.lang.Object | 
getEncapsulation(java.lang.String str, java.lang.Class cl)
根据序列化的字符串,对待封装类进行封装。 
 | 
static boolean | 
isCustomEnum(java.lang.Object obj)
判断obj 的类型是否是自定义的枚举,如果一个类型他的一个字段的类型与就是本身的类型,并且该字段是static ,final 的,则不序列化 
 | 
static boolean | 
isEncapsulation(java.lang.Class cl)
判断是否是封装类。 
 | 
static <T> T | 
parseJson(java.lang.String json, java.lang.Class<T> clz)  | 
static <T> java.util.List<T> | 
parseJsonToList(java.lang.String json, java.lang.Class<T> elementClz)  | 
protected java.lang.String | 
specialCharConverter(java.lang.String copyJsonStr)
特殊字符转义 
 | 
<T> T | 
to(java.lang.String jsonStr, java.lang.Class<T> targetClass)
将一个 JSON 字符串转换成目标类型。 
 | 
java.lang.Object | 
toArray(JSONArray jsonArray, java.lang.Class arrayElementType)
将一个 JSON 类型数组转换成一个 Java 数组。 
 | 
java.lang.Object | 
toFormatedObject(java.lang.Object resourceObj)
将一个 Java 对象转换成一个 JSONObject 对象。 
 | 
static java.lang.String | 
toJson(java.lang.Object o)  | 
<T> java.util.List<T> | 
toList(java.lang.String jsonStr, java.lang.Class<T> elementClass)
将一个 JSON 字符串转换成List类型。 
 | 
java.util.Map<java.lang.String,java.lang.Object> | 
toMap(java.lang.String jsonStr, java.util.Map<java.lang.String,java.lang.Class> nameClassMapping)
将一个 JSON 字符串转换成Map类型。 
 | 
<T> T | 
toObject(java.lang.String jsonStr, java.lang.Class<T> targetClass)
将一个 JSON 字符串转换成Object类型。 
 | 
java.lang.Object | 
toObject(java.lang.String jsonStr, java.lang.Class targetClass, DecoderSetting decoderSetting)  | 
<T> java.util.Set<T> | 
toSet(java.lang.String jsonStr, java.lang.Class<T> elementClass)
将一个 JSON 字符串转换成Set类型。 
 | 
public static java.lang.Object getEncapsulation(java.lang.String str,
                                java.lang.Class cl)
根据序列化的字符串,对待封装类进行封装。
str - 已经序列化的字符串。cl - 待封装的类。public static boolean isEncapsulation(java.lang.Class cl)
cl - 待判断的类。public static java.lang.String toJson(java.lang.Object o)
public static <T> T parseJson(java.lang.String json,
              java.lang.Class<T> clz)
                   throws JSONException
JSONException
public static <T> java.util.List<T> parseJsonToList(java.lang.String json,
                                    java.lang.Class<T> elementClz)
                                         throws JSONException
JSONExceptionpublic static void addEncoderResolver(JsonEncoderResolver resolver)
添加序列化器解决者。
resolver - 解决者public static void addDecoderResolver(JsonDecoderResolver resolver)
添加反序列化器解决者。
resolver - 解决者public static boolean isCustomEnum(java.lang.Object obj)
public java.lang.Object toFormatedObject(java.lang.Object resourceObj)
将一个 Java 对象转换成一个 JSONObject 对象。
resourceObj - 欲转换的 Java 对象。
public <T> T to(java.lang.String jsonStr,
       java.lang.Class<T> targetClass)
     throws JSONException
将一个 JSON 字符串转换成目标类型。
jsonStr - JSON 字符targetClass - 目标类。JSONException - 抛出JSON异常。
public <T> T toObject(java.lang.String jsonStr,
             java.lang.Class<T> targetClass)
           throws JSONException
将一个 JSON 字符串转换成Object类型。
jsonStr - JSON 字符串。targetClass - 目标类。JSONException - 抛出JSON异常。
public <T> java.util.List<T> toList(java.lang.String jsonStr,
                           java.lang.Class<T> elementClass)
                         throws JSONException
将一个 JSON 字符串转换成List类型。
jsonStr - JSON 字符串。elementClass - 目标类的元素类型。JSONException - 抛出JSON异常。
public <T> java.util.Set<T> toSet(java.lang.String jsonStr,
                         java.lang.Class<T> elementClass)
                       throws java.lang.IllegalArgumentException,
                              JSONException
将一个 JSON 字符串转换成Set类型。
jsonStr - JSON 字符串。elementClass - 目标类的元素类型。java.lang.IllegalArgumentException - 当出现以下情况时,抛出IllegalArgumentException异常: 1.JSON 字符串为空; 2.elementClass 为空。JSONException - 抛出JSON异常。
public java.util.Map<java.lang.String,java.lang.Object> toMap(java.lang.String jsonStr,
                                                     java.util.Map<java.lang.String,java.lang.Class> nameClassMapping)
将一个 JSON 字符串转换成Map类型。
jsonStr - JSON 字符。nameClassMapping - java.util.Map 映射集。其中键为字段名,值为字段的类型。
public java.lang.Object toArray(JSONArray jsonArray,
                       java.lang.Class arrayElementType)
                         throws JSONException
将一个 JSON 类型数组转换成一个 Java 数组。
jsonArray - 欲转换的 JSON 类型数组。arrayElementType - 数组元素的类型。JSONException - JSON 异常。
public <T> T commonObjectDecoder(java.lang.String jsonStr,
                        java.lang.Class<T> targetClass,
                        DecoderSetting decoderSetting)
                      throws JSONException
JSONException
public <T> T commonObjectDecoder(java.lang.String jsonStr,
                        java.lang.Class<T> targetClass,
                        java.util.Set<java.lang.String> notDecoderedFieldSet,
                        DecoderSetting decoderSetting)
                      throws JSONException
JSONException
public void addTypeRestrict(java.lang.Class<?> type,
                   java.lang.String fieldName,
                   JsonConverter.FieldInfo restrict)
添加类型限定 ,用于指出某个类型的某个字段的描述。
该接口主要是用于解决反序列化List,Set ,Map 等类型时,反序列化类不知道集合元素类型的问题。
type - 类型。fieldName - 字段名。restrict - 添加的限制。
public java.lang.Object toObject(java.lang.String jsonStr,
                        java.lang.Class targetClass,
                        DecoderSetting decoderSetting)
                          throws JSONException
JSONExceptionprotected java.lang.String specialCharConverter(java.lang.String copyJsonStr)
copyJsonStr -