Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.80 KB | None | 0 0
  1. import com.alibaba.fastjson.JSON;
  2. import com.fasterxml.jackson.databind.JavaType;
  3. import com.fasterxml.jackson.databind.ObjectMapper;
  4. import java.text.SimpleDateFormat;
  5. import java.util.ArrayList;
  6. import java.util.Date;
  7. import java.util.HashMap;
  8. import java.util.Iterator;
  9. import java.util.List;
  10. import java.util.Map;
  11. import net.sf.json.JSONArray;
  12. import net.sf.json.JSONObject;
  13. import net.sf.json.JsonConfig;
  14. import net.sf.json.util.PropertyFilter;
  15.  
  16. public class JsonUtil {
  17. private static final ObjectMapper MAPPER = new ObjectMapper();
  18.  
  19. public JsonUtil() {
  20. }
  21.  
  22. public static <T> List<T> jsonToListByJackson(String jsonStr, Class<T> clazz) {
  23. JavaType type = MAPPER.getTypeFactory().constructCollectionType(List.class, clazz);
  24. Object list = new ArrayList();
  25.  
  26. try {
  27. if (!CollectionUtil.isEmpty(jsonStr)) {
  28. list = (List)MAPPER.readValue(jsonStr, type);
  29. }
  30.  
  31. return (List)list;
  32. } catch (Exception var5) {
  33. throw new RuntimeException("json无法解析成包含 " + clazz.getSimpleName() + " 类型的 list");
  34. }
  35. }
  36.  
  37. public static String beanToJsonByJackson(Object bean) {
  38. String json = "";
  39.  
  40. try {
  41. if (!CollectionUtil.isEmpty(bean)) {
  42. json = MAPPER.writeValueAsString(bean);
  43. }
  44.  
  45. return json;
  46. } catch (Exception var3) {
  47. throw new RuntimeException("bean无法转换");
  48. }
  49. }
  50.  
  51. public static <T> T jsonToBeanByJackson(String jsonStr, Class<T> clazz) {
  52. try {
  53. return !CollectionUtil.isEmpty(jsonStr) ? MAPPER.readValue(jsonStr, clazz) : null;
  54. } catch (Exception var3) {
  55. throw new RuntimeException("json无法解析成 " + clazz.getSimpleName() + " 类型的 bean");
  56. }
  57. }
  58.  
  59. public static String mapToJsonArray(Map<String, Object> map) {
  60. JSONArray json = JSONArray.fromObject(map);
  61. return json.toString();
  62. }
  63.  
  64. public static String mapToJsonObj(Map<String, Object> map) {
  65. return JSON.toJSONString(map);
  66. }
  67.  
  68. public static String objectToJson(Object object) {
  69. StringBuilder json = new StringBuilder();
  70. if (object == null) {
  71. json.append("\"\"");
  72. } else if (object instanceof String) {
  73. json.append("\"").append((String)object).append("\"");
  74. } else if (object instanceof Integer) {
  75. json.append("\"").append(String.valueOf(object)).append("\"");
  76. } else if (object instanceof Date) {
  77. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  78. json.append("\"").append(formatter.format((Date)object)).append("\"");
  79. } else if (object instanceof List) {
  80. json.append("\"").append(listToJson((List)object)).append("\"");
  81. } else if (object instanceof Map) {
  82. json.append(mapToJsonObj((Map)object));
  83. } else {
  84. json.append(beanToJson(object));
  85. }
  86.  
  87. return json.toString();
  88. }
  89.  
  90. public static String beanToJson(Object bean) {
  91. JSONObject jsonObject = JSONObject.fromObject(bean);
  92. return jsonObject.toString();
  93. }
  94.  
  95. public static String beanToJsonNullNotConvert(Object bean) {
  96. JsonConfig config = new JsonConfig();
  97. config.setJsonPropertyFilter(new PropertyFilter() {
  98. public boolean apply(Object source, String name, Object value) {
  99. return value == null || "".equals(value);
  100. }
  101. });
  102. JSONObject jsonObject = JSONObject.fromObject(bean, config);
  103. return jsonObject.toString();
  104. }
  105.  
  106. public static String listToJson(List<?> list) {
  107. StringBuilder json = new StringBuilder();
  108. json.append("[");
  109. if (list != null && list.size() > 0) {
  110. Iterator var2 = list.iterator();
  111.  
  112. while(var2.hasNext()) {
  113. Object obj = var2.next();
  114. json.append(objectToJson(obj));
  115. json.append(",");
  116. }
  117.  
  118. json.setCharAt(json.length() - 1, ']');
  119. } else {
  120. json.append("]");
  121. }
  122.  
  123. return json.toString();
  124. }
  125.  
  126. public static <T> List<T> jsonToList(String jsonStr, Class<T> clazz) {
  127. JSONArray array = JSONArray.fromObject(jsonStr);
  128. List<T> list = new ArrayList();
  129.  
  130. for(int i = 0; i < array.size(); ++i) {
  131. JSONObject jsonObject = array.getJSONObject(i);
  132. T t = JSONObject.toBean(jsonObject, clazz);
  133. list.add(t);
  134. }
  135.  
  136. return list;
  137. }
  138.  
  139. public static <T> T jsonToBean(String jsonStr, Class<T> clazz) {
  140. JSONObject jsonObject = JSONObject.fromObject(jsonStr);
  141. return JSONObject.toBean(jsonObject, clazz);
  142. }
  143.  
  144. public static <T> T jsonToBeanUseFastJson(String jsonStr, Class<T> clazz) {
  145. return JSON.parseObject(jsonStr, clazz);
  146. }
  147.  
  148. public static HashMap<String, Object> jsonToMap(Object jsonObj) {
  149. HashMap<String, Object> map = new HashMap();
  150. if (CollectionUtil.isEmpty(jsonObj)) {
  151. return map;
  152. } else {
  153. JSONObject json = JSONObject.fromObject(jsonObj);
  154. Iterator var3 = json.keySet().iterator();
  155.  
  156. while(true) {
  157. while(var3.hasNext()) {
  158. Object k = var3.next();
  159. Object v = json.get(k);
  160. if (v instanceof JSONArray) {
  161. List<Map<String, Object>> list = new ArrayList();
  162. Iterator it = ((JSONArray)v).iterator();
  163.  
  164. while(it.hasNext()) {
  165. JSONObject json2 = (JSONObject)it.next();
  166. Map<String, Object> tempMap = jsonToMap(json2.toString());
  167. if (!CollectionUtil.isEmpty(tempMap)) {
  168. list.add(tempMap);
  169. }
  170. }
  171.  
  172. if (!CollectionUtil.isEmpty(list) && list.contains((Object)null)) {
  173. List<Map<String, Object>> nullCollectionList = new ArrayList();
  174. nullCollectionList.add((Object)null);
  175. list.removeAll(nullCollectionList);
  176. }
  177.  
  178. map.put(k.toString(), list);
  179. } else {
  180. map.put(k.toString(), v);
  181. }
  182. }
  183.  
  184. return map;
  185. }
  186. }
  187. }
  188.  
  189. public static String removeJsonNode(String jsonStr, String key) {
  190. if (!CollectionUtil.isEmpty(jsonStr) && !CollectionUtil.isEmpty(key)) {
  191. Map<String, Object> tempMap = jsonToMap(jsonStr);
  192. if (tempMap.containsKey(key)) {
  193. tempMap.remove(key);
  194. }
  195.  
  196. return objectToJson(tempMap);
  197. } else {
  198. return null;
  199. }
  200. }
  201. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement