fastjson 与jackson 工具类封装
来源:互联网 发布:商业标书知乎 编辑:程序博客网 时间:2024/05/24 03:22
package util.json;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.TypeReference;@SuppressWarnings("all")public class FastJsonUtil {private static final Logger logger = LoggerFactory.getLogger(FastJsonUtil.class);public static final <T> List<T> getList(String jsontext, String list_str,Class<T> clazz) {JSONObject jsonobj = JSON.parseObject(jsontext);if (jsonobj == null) {return null;}Object obj = jsonobj.get(list_str);if (obj == null) {return null;}// if(obj instanceof JSONObject){}if (obj instanceof JSONArray) {JSONArray jsonarr = (JSONArray) obj;List<T> list = new ArrayList<T>();for (int i = 0; i < jsonarr.size(); i++) {list.add(jsonarr.getObject(i, clazz));}return list;}return null;}/** * @param <T> * -> DepartmentBean * @param jsontext * -> {"department":{"id":"1","name":"生产部"},"password":"admin", * "username":"admin"} * @param obj_str * -> department * @param clazz * -> DepartmentBean * @return -> T */public static final <T> T getObject(String jsontext, String obj_str,Class<T> clazz) {JSONObject jsonobj = JSON.parseObject(jsontext);if (jsonobj == null) {return null;}Object obj = jsonobj.get(obj_str);if (obj == null) {return null;}if (obj instanceof JSONObject) {return jsonobj.getObject(obj_str, clazz);} else {logger.info(obj.getClass()+"");}return null;}/** * @param <T> * @param jsontext * ->{"department":{"id":"1","name":"生产部"},"password":"admin", * "username":"admin"} * @param clazz * -> UserBean.class * @return -> UserBean */// 注:传入任意的jsontext,返回的T都不会为null,只是T的属性为nullpublic static final <T> T getObject(String jsontext, Class<T> clazz) {T t = null;try {t = JSON.parseObject(jsontext, clazz);} catch (Exception e) {logger.error("json字符串转换失败!" + jsontext, e);}return t;}public static final String toJSONString(Object object, boolean prettyFormat) {return JSON.toJSONString(object, prettyFormat);}/** * @Description: json字符串转成为List * @author: GuXiYang * @date: 2017/05/08 10:25:00 * @param jsonStr * json字符串 * @param clazz * class名称 * @return */public static <T> List<T> getList(String jsonStr, Class<T> clazz) {List<T> list = new ArrayList<T>();try {list = JSON.parseArray(jsonStr, clazz);} catch (Exception e) {logger.error("json字符串转List失败!" + jsonStr, e);}return list;}/** * * @Description: json字符串转换成list<Map> * @author: GuXiYang * @date: 2017/05/08 10:27:16 * @param jsonString * json字符串 * @return */public static List<Map<String, Object>> listKeyMaps(String jsonString) {List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();try {list = JSON.parseObject(jsonString,new TypeReference<List<Map<String, Object>>>() {});} catch (Exception e) {logger.error("json字符串转map失败", e);}return list;}/** * @Description: json字符串转换为Map * @author: GuXiYang * @date: 2017/05/08 10:32:33 * @param jsonStr * json字符串 * @return */public static Map<String, Object> json2Map(String jsonStr) {try {return JSON.parseObject(jsonStr, Map.class);} catch (Exception e) {logger.error("json字符串转换失败!" + jsonStr, e);}return null;}//public static void main(String[] args) {//Map<String,Object> dataMap = new HashMap<String,Object>();//dataMap.put("tag", "data");//dataMap.put("hospitalName", "宜都市妇幼保健院");//dataMap.put("name", "欧阳夏凡");//dataMap.put("gender", "女");//dataMap.put("age", "28");//dataMap.put("code", "420502042");//dataMap.put("examineDoc", "杨林");//dataMap.put("examineDate", "2016-05-10");//dataMap.put("verifyDoc", "王菲");//String jsonString=JSON.toJSONString(dataMap);//System.out.println(jsonString);// Map object = getObject(jsonString,Map.class);// System.out.println(object.get("age"));//}}
package org.ph.system.utils;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.alibaba.fastjson.JSON;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.ObjectMapper;/** * Created by phshy on 2017/1/19. */public class JSONUtils { private static final ObjectMapper mapper = new ObjectMapper(); private JSONUtils() { } public static Map<String, Object> json2Map(String json) throws IOException { Map map = (Map) mapper.readValue(json, Map.class); return map; } public static String object2Json(Object object) throws IOException { return mapper.writeValueAsString(object); } public static <T> T json2Object(String json, Class<T> clazz) throws IOException { return mapper.readValue(json, clazz); } public static List<?> json2List(String json, TypeReference<?> typeRef) throws IOException { List list = (List) mapper.readValue(json, typeRef); return list; } public static void main(String[] args) throws IOException {List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();Map<String,Object> dataMap = new HashMap<String,Object>();dataMap.put("tag", "data");dataMap.put("hospitalName", "宜都市妇幼保健院");dataMap.put("name", "欧阳夏凡");dataMap.put("gender", "女");dataMap.put("age", "28");dataMap.put("code", "420502042");dataMap.put("examineDoc", "杨林");dataMap.put("examineDate", "2016-05-10");dataMap.put("verifyDoc", "王菲");Map<String,Object> dataMap2 = new HashMap<String,Object>();dataMap2.put("no", "340812");dataMap2.put("name", "古夕旸"); //String jsonString=JSON.toJSONString(dataMap);list.add(dataMap);list.add(dataMap2);//String jsonString2=mapper.writeValueAsString(list);String jsonString2=JSON.toJSONString(list);System.out.println(jsonString2);List<Map<String,Object>> json2List = (List<Map<String, Object>>) json2List(jsonString2,new TypeReference<List<Map<String,Object>>>(){});for (Map<String,Object> s:json2List) {System.out.println(s.get("name"));}}}
0 0
- fastjson 与jackson 工具类封装
- 利用jackson/fastjson封装JSON转换工具类
- JSON转换工具:fastjson与jackson
- 自己封装Jackson的工具类——JsonUtil
- java中将javabean转为json的两种第三方工具类Fastjson&&Jackson
- Android JackSon (Json工具) 简单使用封装
- jackson 工具类的 3 个常用方法,封装成工具类
- jackson工具类
- FastJson与Jackson生成json时的区别
- FastJSON工具类测试
- FastJSON工具类测试
- FastJSON工具类测试
- FastJson 工具类
- fastjson 工具类
- Gson、Jackson和FastJSON
- Gson,FastJson, Jackson测试
- Jackson 2.X 工具类
- Jackson 2.X 工具类
- Android APK 瘦身
- 关于数据库的笔记
- 机器学习零基础?手把手教你用TensorFlow搭建图像识别系统(一)| 干货
- 百度地图JavaScript API 的运用
- 【分治】洛谷 P1226 取余运算||快速幂
- fastjson 与jackson 工具类封装
- 微信开发基础篇
- [poj1821] Fence DP单调队列优化
- Git 清理无效的远程追踪分支
- Android 微信登录
- HDUOJ 1062 textreverse /c++
- slf4jlog maven 配置
- Vmware12下安装centos7,网卡无法识别问题处理
- 详解Java动态代理机制(二)----cglib实现动态代理