Chinaunix首页 | 论坛 | 博客
  • 博客访问: 165176
  • 博文数量: 56
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 593
  • 用 户 组: 普通用户
  • 注册时间: 2014-02-18 09:59
文章分类

全部博文(56)

文章存档

2019年(1)

2018年(26)

2016年(1)

2015年(6)

2014年(22)

我的朋友

分类: Java

2018-06-29 14:47:27


Json工具, 很通用的工具, 进行了一下简单封装

包含:
  • 对象转JSON字符串
  • JSON字符串转对象
  • JSON串 转 Map
  • JSON串 转 Map
  • JSON字符串转JSON对象

点击(此处)折叠或打开

  1. import java.util.List;
  2. import java.util.Map;

  3. import com.alibaba.fastjson.JSON;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.alibaba.fastjson.TypeReference;

  6. /**
  7.  * Json工具
  8.  *
  9.  * @author moxia
  10.  */
  11. public class JSonUtil {

  12.     /**
  13.      * 对象转JSON字符串
  14.      * @param obj 转换的对象
  15.      * @return 转换后的字符串
  16.      */
  17.     public static String object2String(Object obj) {
  18.         try {
  19.             return JSON.toJSONString(obj);
  20.         } catch (Exception e) {
  21.             return "";
  22.         }
  23.     }

  24.     /**
  25.      * JSON字符串转对象
  26.      * @param str 转换的字符串
  27.      * @param clazz 转换后的对象类型
  28.      * @return 转换后的对象
  29.      */
  30.     public static <T> T string2Object(String str, Class<T> clazz) {
  31.         return (T) JSON.parseObject(str, clazz);
  32.     }

  33.     /**
  34.      * 字符串转对象
  35.      * @param str
  36.      * @param type
  37.      * @return
  38.      */
  39.     public static <T> T string2Object(String str, TypeReference<T> type) {
  40.         return JSON.parseObject(str, type);
  41.     }
  42.     
  43.     /**
  44.      * JSON串 转 Map<String, String>
  45.      * @param jsonData
  46.      * @return
  47.      */
  48.     public static List<Map<String, String>> stringToListMap(String jsonData) {
  49.         if(BaseUtil.isEmpty(jsonData)){
  50.             return null;
  51.         }
  52.         JSONObject jsonObject = JSonUtil.string2JSON(jsonData);
  53.         if(BaseUtil.isEmpty(jsonObject.getString("data"))){
  54.             return null;
  55.         }
  56.         return JSonUtil.string2Object(jsonObject.getString("data"), new TypeReference<List<Map<String, String>>>() {
  57.         });
  58.     }

  59.     /**
  60.      * JSON串 转 Map<String, String>
  61.      * @param jsonStr
  62.      * @return
  63.      */
  64.     public static List<Map<String, Object>> stringToListMapList(String jsonStr) {

  65.         try {
  66.             return JSonUtil.string2Object(jsonStr,
  67.                     new TypeReference<List<Map<String, Object>>>() {
  68.                     });
  69.         } catch (Exception ex) {
  70.             return null;
  71.         }
  72.     }

  73.     public static Map<String, Object> strToMap(String data){

  74.         try {
  75.             Map<String, Object> map = JSonUtil.string2Object(data, new TypeReference<Map<String, Object>>() {});
  76.             return map;
  77.         }catch (Exception ex){
  78.             return null;
  79.         }
  80.     }

  81.     /**
  82.      * JSON字符串转JSON对象
  83.      * @param str 转换的字符串
  84.      * @return 转换后的JSON对象
  85.      */
  86.     public static JSONObject string2JSON(String str) {
  87.         return JSON.parseObject(str);
  88.     }
  89.     
  90. }


阅读(954) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~