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)

相关推荐

  • Java中JSON字符串与java对象的互换实例详解

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式, JSON可以有两种格式,一种是对象格式的,另一种是数组对象, {"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符串 [

  • Java中快速把map转成json格式的方法

    在日常的使用中,我们一般会遇到map转json,如果遍历的话会浪费大量的时间,其实我们拥有这样的jar包 复制代码 代码如下: The method *** is undefined for the type JSONObject 缺哪个包------ json-lib.jar 这样还是不行的 需要一个依赖的jar包要不然会报错 复制代码 代码如下: java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher 当当当当   jar包是ezmo

  • java解析任意层数json字符串的方法

    复制代码 代码如下: //解析策略,有可能是解析json字符串,有可能为数据中的图片地址,email等package cc.util.regex; public enum RegexPolicy { Json("Json"), Image("ImageFromHtml"); private String value; RegexPolicy (String value) {  this.value = value; } @Override public String

  • Java Web程序实现返回JSON字符串的方法总结

    基础铺垫 在java中,关于json的lib有很多,比如jackjson.fastjson.gson等等,本人都用过,但是对于我等只需要让java对象返回json字符串即可的程序员来说,还是显得过于繁重.而且有些功能定制性很差,比如一个java对象的属性为空时,这些组件都不会输出,于是本人在页面循环遍历列表对象时,总是得判断此属性是否为undefined,这一点让本人很不满意.所以决定花点时间研究下到底是怎么回事. 但经过一上午的细看,发现不管是fastjson还是gson都代码都写得相当的复杂

  • java生成json数据示例

    JsonTools.java 复制代码 代码如下: package com.lihua.json.tools; import net.sf.json.JSONObject; public class JsonTools { public JsonTools() { } /**   * @param key   *            表示json字符串的头信息   * @param value   *            是对解析的集合的类型   * @return   */  //将数据转

  • java使用JSONObject实例

    一.引入jar包使用JSONObject必须引用JSON-lib.jar,同时它还依赖于其他包common-lang.jarcommon-beanuitls.jarcommon-collections.jarcommon-logging.jarezmorph.jar二.JSONObject对象使用JSON-lib包是一个java对象.xml.JSON互相转换的包.1.将Java对象转换成 json字符串 复制代码 代码如下: Person p1=new Person();p1.setName("

  • JSON的String字符串与Java的List列表对象的相互转换

    在前端: 1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示: var jsonStr = JSON.stringify(list); var param= {}; param.jsonStr=jsonStr; 在后台: 1.把String转换为List(str转换为list) List<T> list = new ArrayList<T>(); JSONAr

  • java中实体类和JSON对象之间相互转化

    在需要用到JSON对象封装数据的时候,往往会写很多代码,也有很多复制粘贴,为了用POJO的思想我们可以装JSON转化为实体对象进行操作 package myUtil; import java.io.IOException; import myProject.Student; import myProject.StudentList; import org.codehaus.jackson.map.ObjectMapper; import org.json.JSONArray; import or

  • JAVA对象JSON数据互相转换的四种常见情况

    1. 把java 对象列表转换为json对象数组,并转为字符串 复制代码 代码如下: JSONArray array = JSONArray.fromObject(userlist);     String jsonstr = array.toString(); 2.把java对象转换成json对象,并转化为字符串 复制代码 代码如下: JSONObject object = JSONObject.fromObject(invite);    String str=object.toString

  • 使用Jackson来实现Java对象与JSON的相互转换的教程

    一.入门 Jackson中有个ObjectMapper类很是实用,用于Java对象与JSON的互换. 1.JAVA对象转JSON[JSON序列化] import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonDemo { p

随机推荐