fastjson 与jackson 工具类封装

前端之家收集整理的这篇文章主要介绍了fastjson 与jackson 工具类封装前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. package util.json;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7.  
  8. import org.slf4j.Logger;
  9. import org.slf4j.LoggerFactory;
  10.  
  11. import com.alibaba.fastjson.JSON;
  12. import com.alibaba.fastjson.JSONArray;
  13. import com.alibaba.fastjson.JSONObject;
  14. import com.alibaba.fastjson.TypeReference;
  15. @SuppressWarnings("all")
  16. public class FastJsonUtil {
  17. private static final Logger logger = LoggerFactory
  18. .getLogger(FastJsonUtil.class);
  19.  
  20. public static final <T> List<T> getList(String jsontext,String list_str,Class<T> clazz) {
  21. JSONObject jsonobj = JSON.parSEObject(jsontext);
  22. if (jsonobj == null) {
  23. return null;
  24. }
  25. Object obj = jsonobj.get(list_str);
  26. if (obj == null) {
  27. return null;
  28. }
  29. // if(obj instanceof JSONObject){}
  30. if (obj instanceof JSONArray) {
  31. JSONArray jsonarr = (JSONArray) obj;
  32. List<T> list = new ArrayList<T>();
  33. for (int i = 0; i < jsonarr.size(); i++) {
  34. list.add(jsonarr.getObject(i,clazz));
  35. }
  36. return list;
  37. }
  38. return null;
  39. }
  40.  
  41. /**
  42. * @param <T>
  43. * -> DepartmentBean
  44. * @param jsontext
  45. * -> {"department":{"id":"1","name":"生产部"},"password":"admin",* "username":"admin"}
  46. * @param obj_str
  47. * -> department
  48. * @param clazz
  49. * -> DepartmentBean
  50. * @return -> T
  51. */
  52. public static final <T> T getObject(String jsontext,String obj_str,Class<T> clazz) {
  53. JSONObject jsonobj = JSON.parSEObject(jsontext);
  54. if (jsonobj == null) {
  55. return null;
  56. }
  57.  
  58. Object obj = jsonobj.get(obj_str);
  59. if (obj == null) {
  60. return null;
  61. }
  62.  
  63. if (obj instanceof JSONObject) {
  64. return jsonobj.getObject(obj_str,clazz);
  65. } else {
  66. logger.info(obj.getClass()+"");
  67. }
  68.  
  69. return null;
  70. }
  71.  
  72. /**
  73. * @param <T>
  74. * @param jsontext
  75. * ->{"department":{"id":"1",* "username":"admin"}
  76. * @param clazz
  77. * -> UserBean.class
  78. * @return -> UserBean
  79. */
  80. // 注:传入任意的jsontext,返回的T都不会为null,只是T的属性为null
  81. public static final <T> T getObject(String jsontext,Class<T> clazz) {
  82. T t = null;
  83. try {
  84. t = JSON.parSEObject(jsontext,clazz);
  85. } catch (Exception e) {
  86. logger.error("json字符串转换失败!" + jsontext,e);
  87. }
  88. return t;
  89. }
  90.  
  91. public static final String toJSONString(Object object,boolean prettyFormat) {
  92. return JSON.toJSONString(object,prettyFormat);
  93. }
  94.  
  95. /**
  96. * @Description: json字符串转成为List
  97. * @author: GuXiYang
  98. * @date: 2017/05/08 10:25:00
  99. * @param jsonStr
  100. * json字符串
  101. * @param clazz
  102. * class名称
  103. * @return
  104. */
  105. public static <T> List<T> getList(String jsonStr,Class<T> clazz) {
  106. List<T> list = new ArrayList<T>();
  107. try {
  108. list = JSON.parseArray(jsonStr,clazz);
  109. } catch (Exception e) {
  110. logger.error("json字符串转List失败!" + jsonStr,e);
  111. }
  112. return list;
  113. }
  114.  
  115. /**
  116. *
  117. * @Description: json字符串转换成list<Map>
  118. * @author: GuXiYang
  119. * @date: 2017/05/08 10:27:16
  120. * @param jsonString
  121. * json字符串
  122. * @return
  123. */
  124. public static List<Map<String,Object>> listKeyMaps(String jsonString) {
  125. List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
  126. try {
  127. list = JSON.parSEObject(jsonString,new TypeReference<List<Map<String,Object>>>() {
  128. });
  129. } catch (Exception e) {
  130. logger.error("json字符串转map失败",e);
  131. }
  132. return list;
  133. }
  134.  
  135. /**
  136. * @Description: json字符串转换为Map
  137. * @author: GuXiYang
  138. * @date: 2017/05/08 10:32:33
  139. * @param jsonStr
  140. * json字符串
  141. * @return
  142. */
  143. public static Map<String,Object> json2Map(String jsonStr) {
  144. try {
  145. return JSON.parSEObject(jsonStr,Map.class);
  146. } catch (Exception e) {
  147. logger.error("json字符串转换失败!" + jsonStr,e);
  148. }
  149. return null;
  150. }
  151.  
  152. // public static void main(String[] args) {
  153. // Map<String,Object> dataMap = new HashMap<String,Object>();
  154. // dataMap.put("tag","data");
  155. // dataMap.put("hospitalName","宜都市妇幼保健院");
  156. // dataMap.put("name","欧阳夏凡");
  157. // dataMap.put("gender","女");
  158. // dataMap.put("age","28");
  159. // dataMap.put("code","420502042");
  160. // dataMap.put("examineDoc","杨林");
  161. // dataMap.put("examineDate","2016-05-10");
  162. // dataMap.put("verifyDoc","王菲");
  163. // String jsonString=JSON.toJSONString(dataMap);
  164. // System.out.println(jsonString);
  165. // Map object = getObject(jsonString,Map.class);
  166. // System.out.println(object.get("age"));
  167. // }
  168. }


  1. package org.ph.system.utils;
  2.  
  3. import java.io.IOException;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8.  
  9. import com.alibaba.fastjson.JSON;
  10. import com.fasterxml.jackson.core.JsonProcessingException;
  11. import com.fasterxml.jackson.core.type.TypeReference;
  12. import com.fasterxml.jackson.databind.ObjectMapper;
  13.  
  14. /**
  15. * Created by phshy on 2017/1/19.
  16. */
  17. public class JSONUtils {
  18. private static final ObjectMapper mapper = new ObjectMapper();
  19.  
  20. private JSONUtils() {
  21. }
  22.  
  23. public static Map<String,Object> json2Map(String json) throws IOException {
  24. Map map = (Map) mapper.readValue(json,Map.class);
  25. return map;
  26. }
  27.  
  28. public static String object2Json(Object object) throws IOException {
  29. return mapper.writeValueAsString(object);
  30. }
  31.  
  32. public static <T> T json2Object(String json,Class<T> clazz) throws IOException {
  33. return mapper.readValue(json,clazz);
  34. }
  35.  
  36. public static List<?> json2List(String json,TypeReference<?> typeRef) throws IOException {
  37. List list = (List) mapper.readValue(json,typeRef);
  38. return list;
  39. }
  40. public static void main(String[] args) throws IOException {
  41. List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
  42. Map<String,Object>();
  43. dataMap.put("tag","data");
  44. dataMap.put("hospitalName","宜都市妇幼保健院");
  45. dataMap.put("name","欧阳夏凡");
  46. dataMap.put("gender","女");
  47. dataMap.put("age","28");
  48. dataMap.put("code","420502042");
  49. dataMap.put("examineDoc","杨林");
  50. dataMap.put("examineDate","2016-05-10");
  51. dataMap.put("verifyDoc","王菲");
  52.  
  53. Map<String,Object> dataMap2 = new HashMap<String,Object>();
  54. dataMap2.put("no","340812");
  55. dataMap2.put("name","古夕旸");
  56. //
  57. String jsonString=JSON.toJSONString(dataMap);
  58. list.add(dataMap);
  59. list.add(dataMap2);
  60. // String jsonString2=mapper.writeValueAsString(list);
  61. String jsonString2=JSON.toJSONString(list);
  62. System.out.println(jsonString2);
  63. List<Map<String,Object>> json2List = (List<Map<String,Object>>) json2List(jsonString2,Object>>>(){});
  64. for (Map<String,Object> s:json2List) {
  65. System.out.println(s.get("name"));
  66. }
  67. }
  68. }

猜你在找的Json相关文章