com.supermap.services.rest.util
类 JsonConverter
- java.lang.Object
- 
- com.supermap.services.rest.util.JsonConverter
 
- 
 
 public class JsonConverter extends java.lang.ObjectJSON 转换器。 可以将 JSON 字符串转换为 Java 对象, 将一个普通Java 对象转换成一个 JSONObject 对象, 如果传入对象是基本类型,则不转换。 示例代码: JsonConverter jsonC = new JsonConverter(); Status status = Status.CLIENT_ERROR_BAD_REQUEST; Object obj = jsonC.toFormatedObject(status); 
- 
- 
嵌套类概要嵌套类 限定符和类型 类和说明 static classJsonConverter.FieldInfo字段类型类。
 - 
构造器概要构造器 构造器和说明 JsonConverter()构造函数。
 - 
方法概要方法 限定符和类型 方法和说明 static voidaddDecoderResolver(JsonDecoderResolver resolver)添加反序列化器解决者。static voidaddEncoderResolver(JsonEncoderResolver resolver)添加序列化器解决者。voidaddTypeRestrict(java.lang.Class<?> type, java.lang.String fieldName, JsonConverter.FieldInfo restrict)添加类型限定 ,用于指出某个类型的某个字段的描述。<T> TcommonObjectDecoder(java.lang.String jsonStr, java.lang.Class<T> targetClass, DecoderSetting decoderSetting)普通对象的转换,要求待解码的对象中没有类型为List ,Map ,Set 的属性。<T> TcommonObjectDecoder(java.lang.String jsonStr, java.lang.Class<T> targetClass, java.util.Set<java.lang.String> notDecoderedFieldSet, DecoderSetting decoderSetting)普通对象的转换,要求待解码的对象中没有类型为List ,Map ,Set 的属性。static java.lang.ObjectgetEncapsulation(java.lang.String str, java.lang.Class cl)根据序列化的字符串,对待封装类进行封装。static booleanisCustomEnum(java.lang.Object obj)判断obj 的类型是否是自定义的枚举,如果一个类型他的一个字段的类型与就是本身的类型,并且该字段是static ,final 的,则不序列化static booleanisEncapsulation(java.lang.Class cl)判断是否是封装类。static <T> TparseJson(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.StringspecialCharConverter(java.lang.String copyJsonStr)特殊字符转义<T> Tto(java.lang.String jsonStr, java.lang.Class<T> targetClass)将一个 JSON 字符串转换成目标类型。java.lang.ObjecttoArray(JSONArray jsonArray, java.lang.Class arrayElementType)将一个 JSON 类型数组转换成一个 Java 数组。java.lang.ObjecttoFormatedObject(java.lang.Object resourceObj)将一个 Java 对象转换成一个 JSONObject 对象。static java.lang.StringtoJson(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> TtoObject(java.lang.String jsonStr, java.lang.Class<T> targetClass)将一个 JSON 字符串转换成Object类型。java.lang.ObjecttoObject(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类型。
 
- 
- 
- 
方法详细资料- 
getEncapsulationpublic static java.lang.Object getEncapsulation(java.lang.String str, java.lang.Class cl)根据序列化的字符串,对待封装类进行封装。 - 参数:
- str- 已经序列化的字符串。
- cl- 待封装的类。
- 返回:
- 返回封装后的类。
 
 - 
isEncapsulationpublic static boolean isEncapsulation(java.lang.Class cl) 判断是否是封装类。- 参数:
- cl- 待判断的类。
- 返回:
- 返回是否需要封装类,true则需要,false则不需要。
 
 - 
toJsonpublic static java.lang.String toJson(java.lang.Object o) 
 - 
parseJsonpublic static <T> T parseJson(java.lang.String json, java.lang.Class<T> clz) throws JSONException- 抛出:
- JSONException
 
 - 
parseJsonToListpublic static <T> java.util.List<T> parseJsonToList(java.lang.String json, java.lang.Class<T> elementClz) throws JSONException- 抛出:
- JSONException
 
 - 
addEncoderResolverpublic static void addEncoderResolver(JsonEncoderResolver resolver) 添加序列化器解决者。 - 参数:
- resolver- 解决者
 
 - 
addDecoderResolverpublic static void addDecoderResolver(JsonDecoderResolver resolver) 添加反序列化器解决者。 - 参数:
- resolver- 解决者
 
 - 
isCustomEnumpublic static boolean isCustomEnum(java.lang.Object obj) 判断obj 的类型是否是自定义的枚举,如果一个类型他的一个字段的类型与就是本身的类型,并且该字段是static ,final 的,则不序列化
 - 
toFormatedObjectpublic java.lang.Object toFormatedObject(java.lang.Object resourceObj) 将一个 Java 对象转换成一个 JSONObject 对象。 - 参数:
- resourceObj- 欲转换的 Java 对象。
- 返回:
- JSONObject 对象。
 
 - 
topublic <T> T to(java.lang.String jsonStr, java.lang.Class<T> targetClass) throws JSONException将一个 JSON 字符串转换成目标类型。 - 参数:
- jsonStr- JSON 字符
- targetClass- 目标类。
- 返回:
- 返回转换后的目标类。
- 抛出:
- JSONException- 抛出JSON异常。
 
 - 
toObjectpublic <T> T toObject(java.lang.String jsonStr, java.lang.Class<T> targetClass) throws JSONException将一个 JSON 字符串转换成Object类型。 - 参数:
- jsonStr- JSON 字符串。
- targetClass- 目标类。
- 返回:
- 返回转换后的Object类型对象。
- 抛出:
- JSONException- 抛出JSON异常。
 
 - 
toListpublic <T> java.util.List<T> toList(java.lang.String jsonStr, java.lang.Class<T> elementClass) throws JSONException将一个 JSON 字符串转换成List类型。 - 参数:
- jsonStr- JSON 字符串。
- elementClass- 目标类的元素类型。
- 返回:
- 返回转换后List类型的对象。
- 抛出:
- JSONException- 抛出JSON异常。
 
 - 
toSetpublic <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- 目标类的元素类型。
- 返回:
- 返回转换后Set类型的对象。
- 抛出:
- java.lang.IllegalArgumentException- 当出现以下情况时,抛出IllegalArgumentException异常: 1.JSON 字符串为空; 2.elementClass 为空。
- JSONException- 抛出JSON异常。
 
 - 
toMappublic 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 映射集。其中键为字段名,值为字段的类型。
- 返回:
- java.util.Map 参数映射集。其中键为字段名,值为对应的 Java 对象。
 
 - 
toArraypublic java.lang.Object toArray(JSONArray jsonArray, java.lang.Class arrayElementType) throws JSONException将一个 JSON 类型数组转换成一个 Java 数组。 - 参数:
- jsonArray- 欲转换的 JSON 类型数组。
- arrayElementType- 数组元素的类型。
- 返回:
- Java 对象数组。
- 抛出:
- JSONException- JSON 异常。
 
 - 
commonObjectDecoderpublic <T> T commonObjectDecoder(java.lang.String jsonStr, java.lang.Class<T> targetClass, DecoderSetting decoderSetting) throws JSONException普通对象的转换,要求待解码的对象中没有类型为List ,Map ,Set 的属性。- 抛出:
- JSONException
 
 - 
commonObjectDecoderpublic <T> T commonObjectDecoder(java.lang.String jsonStr, java.lang.Class<T> targetClass, java.util.Set<java.lang.String> notDecoderedFieldSet, DecoderSetting decoderSetting) throws JSONException普通对象的转换,要求待解码的对象中没有类型为List ,Map ,Set 的属性。- 抛出:
- JSONException
 
 - 
addTypeRestrictpublic void addTypeRestrict(java.lang.Class<?> type, java.lang.String fieldName, JsonConverter.FieldInfo restrict)添加类型限定 ,用于指出某个类型的某个字段的描述。 该接口主要是用于解决反序列化List,Set ,Map 等类型时,反序列化类不知道集合元素类型的问题。 - 参数:
- type- 类型。
- fieldName- 字段名。
- restrict- 添加的限制。
 
 - 
toObjectpublic java.lang.Object toObject(java.lang.String jsonStr, java.lang.Class targetClass, DecoderSetting decoderSetting) throws JSONException- 抛出:
- JSONException
 
 - 
specialCharConverterprotected java.lang.String specialCharConverter(java.lang.String copyJsonStr) 特殊字符转义- 参数:
- copyJsonStr-
- 返回:
 
 
- 
 
-