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字符串的方法
时间: 2018-01-24

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中JSON字符串与java对象的互换实例详解

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

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使用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("

使用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

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

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 Web程序实现返回JSON字符串的方法总结

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

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的2种方法

首先申明所需jar包: ezmorph-1.0.6.jar jackson-all-1.7.6.jar jsoup-1.5.2.jar 一.创建一个实体类Emp. package com.hyx.entity; public class Emp { private Integer id; private String name; private Integer dptNo; private String gender; private String duty; public Integer ge

java对象与json对象之间互相转换实现方法示例

本文实例讲述了java对象与json对象之间互相转换实现方法.分享给大家供大家参考,具体如下: import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class MainClass { public st

浅谈java对象之间相互转化的多种方式

第一种:使用org.apache.commons.beanutils.PropertyUtils.copyProperties()拷贝一个bean中的属性到另一个bean中,第一个参数是目标bean,第二个参数是源bean. 特点: 1.它的性能问题相当差 2.PropertyUtils有自动类型转换功能,而java.util.Date恰恰是其不支持的类型 3.PropertyUtils支持为null的场景: public static void copyProperties(Object de

MapStruct处理Java中实体与模型间不匹配属性转换的方法

摘要: 前面介绍了MapStrut简单用法,MapStrut的最重要的特点就是处理Java中实体与模型间不匹配属性的转换. 实体模型 有一个User对象: public class User { private Integer id; private String name; private double account; private boolean married; // setters, getters, toString() } 有一个Employee 对象: public class

Android项目中实体类entity的作用详解

估计很多入门安卓的朋友对entity很困惑,为什么要写实体类?有什么用?写来干什么? 对于实体类的理解我入门的时候也是困惑了好久,后面用多了才慢慢理解,这篇博客就当复习和笔记. Java中entity(实体类)的写法规范 在日常的Java项目开发中,entity(实体类)是必不可少的,它们一般都有很多的属性,并有相应的setter和getter方法.entity(实体类)的作用一般是和数据表做映射.所以快速写出规范的entity(实体类)是java开发中一项必不可少的技能. 在项目中写实体类一般

利用Java中Calendar计算两个日期之间的天数和周数

前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每个月的天数各不同:阴(农)历,每个月固定28天 每周的第一天 - 阳(公)历星期日是第一天:阴(农)历,星期一是第一天 实际上,在历史上有着许多种纪元的方法.它们的差异实在太大了,比如说一个人的生日是"八月八日" 那么一种可能是阳(公)历的八月八日,但也可以是阴(农)历的日期.所以为了计时

基于Java中Math类的常用函数总结

Java中比较常用的几个数学公式的总结: //取整,返回小于目标函数的最大整数,如下将会返回-2 Math.floor(-1.8): //取整,返回发育目标数的最小整数 Math.ceil() //四舍五入取整 Math.round() //计算平方根 Math.sqrt() //计算立方根 Math.cbrt() //返回欧拉数e的n次幂 Math.exp(3); //计算乘方,下面是计算3的2次方 Math.pow(3,2); //计算自然对数 Math.log(); //计算绝对值 Mat

Java中使用JCOM操作Office对象

通过使用COM技术,我们用微软Office应用程序能够建立很多应用程序扩展,但是Java开发人员却无法享受它带来的便利--除非他们拥有方便的Java访问COM的途径(Java-to-COM桥).使用JCom的时候,你可以在Java中控制几乎所有的COM对象,而且它还带有一些用于Excel的强大的辅助类. 在你每次编写用HTML表格样式或Java表格对象显示数据的应用程序的时候,通常都需要带有"导出到Excel"功能.那么头疼的问题就出现了.怎么样实现这种功能呢?在HTML中显示的可以在

Java中BufferedReader类获取输入输入字符串实例

使用Scanner来取得使用者的输入很方便,但是它以空白来区隔每一个输入字符串,在某些时候并不适用,因为使用者可能输入一个字符串,中间会包括空白字元,而您希望取得完整的字符串. 您可以使用BufferedReader类别,它是java.io包中所提供的一个类,所以使用这个类时必须先import java.io包:使用BufferedReader对象的readLine()方法必须处理IOException异常(exception),异常处理机制是Java提供给程序设计人员捕捉程序中可能发生的错误所