利用jackson/fastjson封装JSON转换工具类

利用jackson/fastjson封装JSON转换工具类

需要导包,可以找资源下载
fastjson-1.2.11.jar
jackson-core-asl-1.9.4.jar
jackson-mapper-lgpl-1.9.13.jar

下载请移步
http://download.csdn.net/detail/qq_35712358/9819810

package com.ssm.utils;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;


/**
 * JSON转换工具类
 * @autho 董杨炀
 * @time 2017-4-10 下午3:46:02
 */
public class JsonConverUtils {

    /**
     * 

Bean对象转JSON.采用Jackson工具

*

如果有时间日期格式需要转换,请传入时间日期格式。建议"yyyy-MM-dd HH:mm:ss"。当dataFormatString==null或者""时,对日期时间不做处理,解析时请保持一致

* @param object * @param dataFormatString * @return * @throws IOException * @throws JsonMappingException * @throws JsonGenerationException * @autho 董杨炀 * @time 2017-4-10 下午4:00:09 */
public static String beanToJsonByJackson(Object object,String dataFormatString) throws JsonGenerationException, JsonMappingException, IOException{ if(object != null){ ObjectMapper mapper = new ObjectMapper(); if(StringUtils.isNotBlank(dataFormatString)){ mapper.setDateFormat(new SimpleDateFormat(dataFormatString)); } return mapper.writeValueAsString(object); }else{ return null; } } /** *

Bean对象转JSON.采用Fastjson工具

*

当dataFormatString==null或者""时,对日期时间不做处理。建议"yyyy-MM-dd HH:mm:ss"。

* @param object * @param dataFormatString * @return * @autho 董杨炀 * @time 2017-4-10 下午4:00:09 */
public static String beanToJsonByFastjson(Object object,String dataFormatString){ if(object != null){ if(StringUtils.isBlank(dataFormatString)){ return JSONObject.toJSONString(object); } return JSON.toJSONStringWithDateFormat(object,dataFormatString); }else{ return null; } } /** *

String转JSON字符串.采用Jackson工具

*

key value都是必传值,否则返回null

* @param key 变量名 * @param value string值 * @return * @throws IOException * @throws JsonMappingException * @throws JsonGenerationException * @autho 董杨炀 * @time 2017-4-10 下午4:10:06 */
public static String stringToJsonByJackson(String key,String value) throws JsonGenerationException, JsonMappingException, IOException{ if(StringUtils.isBlank(key) || StringUtils.isBlank(value)){ return null; } Map map = new HashMap(); map.put(key, value); return beanToJsonByJackson(map,null); } /** *

String转JSON字符串.采用Fastjson工具

*

key value都是必传值,否则返回null

* @param key 变量名 * @param value string值 * @return * @autho 董杨炀 * @time 2017-4-10 下午4:10:06 */
public static String stringToJsonByFastjson(String key,String value){ if(StringUtils.isBlank(key) || StringUtils.isBlank(value)){ return null; } Map map = new HashMap(); map.put(key, value); return beanToJsonByFastjson(map,null); } /** *

将json字符串转换成对象.采用Jackson工具.具有时间格式转换

*

当dataFormatString==null或者""时,对日期时间不做处理,解析时请保持一致。建议"yyyy-MM-dd HH:mm:ss"

* @param json json字符串 * @param clazz 源对象 * @param dataFormatString 日期时间格式必传 * @return * @throws IOException * @throws JsonMappingException * @throws JsonParseException * @autho 董杨炀 * @time 2017-4-10 下午4:20:50 */
public static Object jsonToBeanByJackson(String json,Object clazz,String dataFormatString) throws JsonParseException, JsonMappingException, IOException{ if(StringUtils.isBlank(json) || clazz == null){ return null; } ObjectMapper mapper = new ObjectMapper(); if(StringUtils.isNotBlank(dataFormatString)){ mapper.setDateFormat(new SimpleDateFormat(dataFormatString)); } return mapper.readValue(json, clazz.getClass()); } /** *

将json字符串转换成对象.采用Fastjson工具---自动识别日期时间类型转换

* @param json json字符串 * @param clazz 源对象 * @return * @autho 董杨炀 * @time 2017-4-10 下午4:20:50 */
public static Object jsonToBeanByFastjson(String json,Object clazz){ if(StringUtils.isBlank(json) || clazz == null){ return null; } return JSON.parseObject(json, clazz.getClass()); } // public static void main(String[] args) { // //时间不转换就是long值 // EmployeeEntity entity = new EmployeeEntity(); // entity.setDate(new Date()); // System.out.println(beanToJsonByJackson(entity,"yyyy-MM-dd HH:mm:ss")); // String json = "{\"name\":null,\"sex\":0,\"idCard\":null,\"salary\":0.0,\"date\":\"2017-04-12 08:40:36\"}"; //// EmployeeEntity entity2 = (EmployeeEntity)jsonToBeanByJackson(json, new EmployeeEntity(),"yyyy-MM-dd HH:mm:ss"); //// System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity2.getDate())); // // EmployeeEntity entity3 = (EmployeeEntity)jsonToBeanByJackson(json, new EmployeeEntity(),"yyyy-MM-dd HH:mm:ss"); // System.out.println(entity3.getDate()); // // System.out.println("--------------------------------"); // System.out.println(beanToJsonByFastjson(entity,"yyyy-MM-dd HH:mm:ss")); // String json2 = "{\"date\":\"2017-04-12 08:42:02\",\"salary\":0,\"sex\":0}"; // EmployeeEntity entity4 = (EmployeeEntity)jsonToBeanByFastjson(json2, new EmployeeEntity()); // System.out.println(entity4.getDate()); // //new Date // System.out.println(new Date()); // } }

你可能感兴趣的:(javaEE)