// Path: old-library-with-sample/src/main/java/com/rocko/common/DebugLog.java
// public class DebugLog {
//     /**
//      * Log输出所在类
//      */
//     private static String className;
//     /**
//      * Log输出所在方法
//      */
//     private static String methodName;
//     /**
//      * Log输出所行号
//      */
//     private static int lineNumber;
// 
//     private DebugLog() {
//     }
// 
//     /**
//      * 是否可Debug状态
//      *
//      * @return
//      */
//     public static boolean isDebuggable() {
//         return BuildConfig.DEBUG;
//     }
// 
//     /**
//      * 创建Log输出的基本信息
//      *
//      * @param log
//      * @return
//      */
//     private static String createLog(String log) {
//         StringBuffer buffer = new StringBuffer();
//         buffer.append("[");
//         buffer.append(methodName);
//         buffer.append("()");
//         buffer.append(" line:");
//         buffer.append(lineNumber);
//         buffer.append("] ");
//         buffer.append(log);
//         return buffer.toString();
//     }
// 
//     /**
//      * 取得输出所在位置的信息 className methodName lineNumber
//      *
//      * @param sElements
//      */
//     private static void getMethodNames(StackTraceElement[] sElements) {
//         className = sElements[1].getFileName().split("\\.")[0];
//         methodName = sElements[1].getMethodName();
//         lineNumber = sElements[1].getLineNumber();
//     }
// 
//     public static void e(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.e(className, createLog(message));
//     }
// 
//     public static void i(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.i(className, createLog(message));
//     }
// 
//     public static void d(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.d(className, createLog(message));
//     }
// 
//     public static void v(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.v(className, createLog(message));
//     }
// 
//     public static void w(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.w(className, createLog(message));
//     }
// 
//     public static void wtf(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.wtf(className, createLog(message));
//     }
// 
// }


import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.type.TypeFactory;
import com.rocko.common.DebugLog;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
package com.rocko.utils;



/**
 * Json工具：Json数据和Java对象之间的转换
 *
 * @author Mr.Zheng
 * @date 2014年7月15日10:24:52
 */
public class JsonUtils {
    private static ObjectMapper objectMapper = new ObjectMapper();

    /**
     * 将对象序列化为JSON字符串
     *
     * @param object
     * @return JSON字符串
     */
    public static String serialize(Object object) {
        Writer write = new StringWriter();
        try {
            objectMapper.writeValue(write, object);
        } catch (JsonGenerationException e) {
// Path: old-library-with-sample/src/main/java/com/rocko/common/DebugLog.java
// public class DebugLog {
//     /**
//      * Log输出所在类
//      */
//     private static String className;
//     /**
//      * Log输出所在方法
//      */
//     private static String methodName;
//     /**
//      * Log输出所行号
//      */
//     private static int lineNumber;
// 
//     private DebugLog() {
//     }
// 
//     /**
//      * 是否可Debug状态
//      *
//      * @return
//      */
//     public static boolean isDebuggable() {
//         return BuildConfig.DEBUG;
//     }
// 
//     /**
//      * 创建Log输出的基本信息
//      *
//      * @param log
//      * @return
//      */
//     private static String createLog(String log) {
//         StringBuffer buffer = new StringBuffer();
//         buffer.append("[");
//         buffer.append(methodName);
//         buffer.append("()");
//         buffer.append(" line:");
//         buffer.append(lineNumber);
//         buffer.append("] ");
//         buffer.append(log);
//         return buffer.toString();
//     }
// 
//     /**
//      * 取得输出所在位置的信息 className methodName lineNumber
//      *
//      * @param sElements
//      */
//     private static void getMethodNames(StackTraceElement[] sElements) {
//         className = sElements[1].getFileName().split("\\.")[0];
//         methodName = sElements[1].getMethodName();
//         lineNumber = sElements[1].getLineNumber();
//     }
// 
//     public static void e(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.e(className, createLog(message));
//     }
// 
//     public static void i(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.i(className, createLog(message));
//     }
// 
//     public static void d(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.d(className, createLog(message));
//     }
// 
//     public static void v(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.v(className, createLog(message));
//     }
// 
//     public static void w(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.w(className, createLog(message));
//     }
// 
//     public static void wtf(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.wtf(className, createLog(message));
//     }
// 
// }


// Path: old-library-with-sample/src/main/java/com/rocko/utils/JsonUtils.java
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.type.TypeFactory;
import com.rocko.common.DebugLog;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;

package com.rocko.utils;



/**
 * Json工具：Json数据和Java对象之间的转换
 *
 * @author Mr.Zheng
 * @date 2014年7月15日10:24:52
 */
public class JsonUtils {
    private static ObjectMapper objectMapper = new ObjectMapper();

    /**
     * 将对象序列化为JSON字符串
     *
     * @param object
     * @return JSON字符串
     */
    public static String serialize(Object object) {
        Writer write = new StringWriter();
        try {
            objectMapper.writeValue(write, object);
        } catch (JsonGenerationException e) {
            DebugLog.e(e.getMessage());