Java中JSON处理工具类使用详解
本文实例为大家分享了JSON处理工具类的具体代码,供大家参考,具体内容如下
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map; 
import javax.servlet.http.HttpServletResponse; 
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature; 
/**
 *
 * @author humf
 *
 */
public class FastJsonUtil { 
  /**
   * 将对象转成json串
   * @param object
   * @return
   */
  public static String toJSONString(Object object){
    //DisableCircularReferenceDetect来禁止循环引用检测
    return JSON.toJSONString(object,SerializerFeature.DisableCircularReferenceDetect);
  } 
  //输出json
  public static void write_json(HttpServletResponse response,String jsonString){
    response.setContentType("application/json;utf-8");
    response.setCharacterEncoding("UTF-8");
    try {
      response.getWriter().print(jsonString);
    } catch (IOException e) {
      e.printStackTrace();
    }
  } 
  /**
   * ajax提交后回调的json字符串
   * @return
   */
  public static String ajaxResult(boolean success,String message)
  {
    Map map=new HashMap();
    map.put("success", success);//是否成功
    map.put("message", message);//文本消息
    String json= JSON.toJSONString(map);
    return json;
  } 
  /**
   * JSON串自动加前缀
   * @param json 原json字符串
   * @param prefix 前缀
   * @return 加前缀后的字符串
   */ 
  public static String JsonFormatterAddPrefix(String json,String prefix,Map<String,Object> newmap)
  {
    if(newmap == null){
      newmap = new HashMap();
    }
    Map<String,Object> map = (Map) JSON.parse(json); 
    for(String key:map.keySet())
    {
      Object object=map.get(key);
      if(isEntity(object)){
        String jsonString = JSON.toJSONString(object);
        JsonFormatterAddPrefix(jsonString,prefix+key+".",newmap); 
      }else{
        newmap.put(prefix+key, object);
      } 
    }
    return JSON.toJSONString(newmap);
  }
  /**
   * 判断某对象是不是实体
   * @param object
   * @return
   */
  private static boolean isEntity(Object object)
  {
    if(object instanceof String )
    {
      return false;
    }
    if(object instanceof Integer )
    {
      return false;
    }
    if(object instanceof Long )
    {
      return false;
    }
    if(object instanceof java.math.BigDecimal )
    {
      return false;
    }
    if(object instanceof Date )
    {
      return false;
    }
    if(object instanceof java.util.Collection )
    {
      return false;
    }
    return true; 
  }
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
您可能感兴趣的文章:
- JAVA对象JSON数据互相转换的四种常见情况
 - Java中JSON字符串与java对象的互换实例详解
 - JSON的String字符串与Java的List列表对象的相互转换
 - java使用JSONObject实例
 - 使用Jackson来实现Java对象与JSON的相互转换的教程
 - java中实体类和JSON对象之间相互转化
 - java生成json数据示例
 - Java Web程序实现返回JSON字符串的方法总结
 - Java中快速把map转成json格式的方法
 - java解析任意层数json字符串的方法
 
 赞 (0)
                        