JSON时间转换工具

来源:互联网 发布:漂流瓶软件 编辑:程序博客网 时间:2024/04/28 08:38
import java.util.Date;import net.sf.json.JSONObject;import net.sf.json.JsonConfig;public class JSONUtils {/** * 对象转换json串 * @param o 实体 * @return JSONObject类型 * @createTime 2013-12-5 */public static <T> JSONObject bean2json(T o) {JsonConfig jsonConfig = new JsonConfig();jsonConfig.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor());JSONObject m = JSONObject.fromObject(o, jsonConfig);return m;}/** * JSon 数据中的String 传递数据时,需要处理好特殊字符 * JSon数据中有特殊字符 * 1:引号 如果是使用单引号,来括值的话,那String 中 ' 单引号为特殊字符 * 2:正斜杠,反斜杠,换行符号等 * 3:另外,必须用 (") 而非 (') 表示字符串: * @param str * @return String类型 * @createTime 2014-9-4 * @author Sunqinbo */public static String scanString(String s) {StringBuffer sb = new StringBuffer();for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);switch (c) {case '\"':sb.append("\\\"");break;case '\\':sb.append("\\\\");break;case '/':sb.append("\\/");break;case '\b':sb.append("\\b");break;case '\f':sb.append("\\f");break;case '\n':sb.append("\\n");break;case '\r':sb.append("\\r");break;case '\t':sb.append("\\t");break;default:sb.append(c);}}return sb.toString();}}


时间转换工具

package com.dongao.demo.util;import java.sql.Timestamp;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import net.sf.json.JsonConfig;import net.sf.json.processors.JsonValueProcessor;public class DateJsonValueProcessor implements JsonValueProcessor {public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";private DateFormat dateFormat;public DateJsonValueProcessor() {this(DEFAULT_DATE_PATTERN);}public DateJsonValueProcessor(String datePattern) {try {dateFormat = new SimpleDateFormat(datePattern);} catch (Exception ex) {dateFormat = new SimpleDateFormat(DEFAULT_DATE_PATTERN);}}public Object processArrayValue(Object value, JsonConfig jsonConfig) {return process(value);}public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {return process(value);}private Object process(Object value) {if (value instanceof Timestamp) return dateFormat.format((Timestamp) value);elsereturn dateFormat.format((Date) value);}}



0 0