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

 更新时间:2018年01月27日 12:00:40   作者:御前提笔小书童  
这篇文章主要为大家详细介绍了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使用itextpdf实现PDF转文本以及转图片

    Java使用itextpdf实现PDF转文本以及转图片

    PDF转文本的插件常用的有pdfbox ,itextpdf 和 spire.pdf,本文主要介绍如何使用itextpdf实现PDF转文本以及转图片,需要的可以参考一下
    2025-01-01
  • 详解Spring 中 Bean 对象的存储和取出

    详解Spring 中 Bean 对象的存储和取出

    由于 Spring 拥有对象的管理权,所以我们也需要拥有较为高效的对象存储和取出的手段,下面我们来分别总结一下,对Spring 中 Bean 对象的存储和取出知识感兴趣的朋友跟随小编一起看看吧
    2022-11-11
  • Gradle 6.6.1 安装配置的详细教程

    Gradle 6.6.1 安装配置的详细教程

    Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。这篇文章主要介绍了Gradle 6.6.1 安装配置的详细教程,需要的朋友可以参考下
    2020-09-09
  • java String、StringBuilder和StringBuffer的区别详解

    java String、StringBuilder和StringBuffer的区别详解

    这篇文章主要介绍了java String、StringBuilder和StringBuffer的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • SpringMVC Tomcat控制台乱码问题解决方案

    SpringMVC Tomcat控制台乱码问题解决方案

    这篇文章主要介绍了SpringMVC Tomcat控制台乱码问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 使用SpringBoot的CommandLineRunner遇到的坑及解决

    使用SpringBoot的CommandLineRunner遇到的坑及解决

    这篇文章主要介绍了使用SpringBoot的CommandLineRunner遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • IntelliJ IDEA失焦自动重启服务的解决方法

    IntelliJ IDEA失焦自动重启服务的解决方法

    在使用 IntelliJ IDEA运行 SpringBoot 项目时,你可能会遇到一个令人困扰的问题,一旦你的鼠标指针离开当前IDE窗口,点击其他位置时, IDE 窗口会失去焦点,你的 SpringBoot 服务就会自动重启,所以本文给大家介绍了IntelliJ IDEA失焦自动重启服务的解决方法
    2023-10-10
  • mybatisplus中EntityWrapper的常用方法

    mybatisplus中EntityWrapper的常用方法

    这篇文章主要介绍了mybatisplus中EntityWrapper的常用方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 分析ZooKeeper分布式锁的实现

    分析ZooKeeper分布式锁的实现

    在分布式的情况下,sychornized 和 Lock 已经不能满足我们的要求了,那么就需要使用第三方的锁了,这里我们就使用 ZooKeeper 来实现一个分布式锁
    2021-06-06
  • SpringBoot无法访问/static下静态资源的解决

    SpringBoot无法访问/static下静态资源的解决

    这篇文章主要介绍了SpringBoot无法访问/static下静态资源的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论