欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-10 18:48:34
本文实例为大家分享了json处理工具类的具体代码,供大家参考,具体内容如下 import java.io.ioexception; import java.u...

本文实例为大家分享了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; 
     
  } 
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。