JsonUtil.java
2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package com.bigdata.test;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.serializer.SerializerFeature;
import org.apache.commons.lang.StringUtils;
import java.util.List;
public class JsonUtil {
/**
* 将对象序列化为Json字符串
* 注意:obj String类型的值Null将会被转化成""
*
* @param obj 对象
* @return String Json字符串
*/
public static final String toJson(Object obj) {
return JSONObject.toJSONString(obj, SerializerFeature.WriteNullStringAsEmpty);
}
/**
* 将对象序列化为Json字符串
*
* @param obj 对象
* @return String Json字符串
*/
public static final String toJson(Object obj, SerializerFeature... features) {
return JSONObject.toJSONString(obj, features);
}
/**
* 将Json字符串反序列化为对象
*
* @param jsonString Json字符串
* @param clazz 需要转换到的对象类
* @return <T>对象
*/
public static final <T> T toObj(String jsonString, Class<T> clazz) {
return JSONObject.parseObject(jsonString, clazz);
}
public static final <T> T toObj(String jsonString, TypeReference<T> typeReference) {
return JSONObject.parseObject(jsonString, typeReference);
}
/**
* 将Json字符串反序列化为数组对象
*
* @param jsonString Json字符串
* @param clazz 需要转换到的对象类(数组内的对象实体)
* @return List<T>数组对象
*/
public static final <T> List<T> toList(String jsonString, Class<T> clazz) {
return JSONObject.parseArray(jsonString, clazz);
}
/**
* 将Map转化为对象
*
* @param map
* @param clazz 需要转换到的对象类
* @return <T>对象
*/
public static final <T> T toObj(Object map, Class<T> clazz) {
return JSONObject.parseObject(JSONObject.toJSONString(map, SerializerFeature.WriteMapNullValue), clazz);
}
public static boolean isJson(String content) {
if(StringUtils.isEmpty(content)){
return false;
}
boolean isJsonObject = true;
boolean isJsonArray = true;
try {
JSONObject.parseObject(content);
} catch (Exception e) {
isJsonObject = false;
}
try {
JSONObject.parseArray(content);
} catch (Exception e) {
isJsonArray = false;
}
if(!isJsonObject && !isJsonArray){
return false;
}
return true;
}
}