Java中JSON处理工具类使用详解

所属分类: 软件编程 / java 阅读数: 23
收藏 0 赞 0 分享

本文实例为大家分享了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基础之反射原理与用法详解

这篇文章主要介绍了Java基础之反射原理与用法,结合实例形式详细分析了java反射的相关概念、原理、使用方法与操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

java字符串的截取方法substring()代码解析

这篇文章主要介绍了java字符串的截取方法substring()代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Mybatis一对多关联关系映射实现过程解析

这篇文章主要介绍了Mybatis一对多关联关系映射实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java整数和字符串相互转化实例详解

这篇文章主要介绍了Java整数和字符串相互转化实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring Boot 项目设置网站图标的方法

这篇文章主要介绍了Spring Boot 项目设置网站图标的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java多态机制原理特点详解

在本篇文章里小编给大家分享的是关于java多态机制原理特点详解,有需要的朋友们可以跟着学习下。
收藏 0 赞 0 分享

Jmeter如何添加循环控制器

这篇文章主要介绍了Jmeter如何添加循环控制器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java虚拟机创建失败的原因整理

在本篇文章里小编给大家整理了关于创建java虚拟机失败的解决方法和知识点,需要的朋友们可以参考学习下。
收藏 0 赞 0 分享

Java如何把int类型转换成byte

这篇文章主要介绍了Java如何把int类型转换成byte,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

linux中java获取路径的实例代码

在本篇文章里小编给大家整理的是一篇关于linux中java获取路径的实例代码以及相关知识点,有兴趣的朋友们可以学习参考下。
收藏 0 赞 0 分享
查看更多