关闭

Java中JSON处理工具类

标签: json对象java
837人阅读 评论(0) 收藏 举报
分类:
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;
		
	}
}

0
0
查看评论

JAVA常用的JSON处理库,常用处理方法

SON-LIB库处理json JSON-LIB依赖包 package cn.wangyuan.util; import java.util.HashMap; import java.util.Map; import net.sf.json.JSON; import net.sf.j...
  • u013983450
  • u013983450
  • 2016-09-12 14:19
  • 2131

Java处理json 取json值

java json字符串转JSONObject和JSONArray以及取值
  • Only_Wan
  • Only_Wan
  • 2017-05-05 09:50
  • 4968

java中的JSON操作

(1)JSON: javaScript object Notation(javaScript对象表示法) 比XML数据更小、更快、更容易解析。 数据由名称-值 对表示,由逗号分隔开,花括号保存对象,方括号保存数组。 Json值可以是:数字/字符串/逻辑值/数组/对象/null Json对象:...
  • Amyli_dream
  • Amyli_dream
  • 2017-07-31 20:21
  • 1555

一个简单的java处理json的方法

php5处理json就2个函数,很方便。但常用的java处理起来就很麻烦,通常用JSON-lib许多包--------下面有一个简单的java处理json的方法如下: 1:下载另外一个java的小包就可以了;  http://www.JSON.org/java/json_simp...
  • lesorb
  • lesorb
  • 2008-11-25 10:30
  • 10941

Java JSON 处理技术:Jackson

Jackson 处理 JSON Java 常用的 JSON 处理库包括 Gson、Json-lib、Jackson 等,Jackson 相对来说处理速度更快,拓展功能更加强大; Jackson 源码:https://github.com/FasterXML/jackson Jack...
  • Al_assad
  • Al_assad
  • 2018-01-13 17:47
  • 66

Java操作Json数组

一、字符串与json 字符串格式: static String json = "[{'day1':'work','day2':26},{'day1':123,'day2':26}]";转换为jso...
  • chenaschen
  • chenaschen
  • 2014-11-27 13:02
  • 13036

Java解析Json数据的两种方式

JSON数据解析的有点在于他的体积小,在网络上传输的时候可以更省流量,所以使用越来越广泛,下面介绍使用JsonObject和JsonArray的两种方式解析Json数据。 使用以上两种方式解析json均需要依赖json-lib.jar开发包使用依赖包 1、JsonObject 使用JsonObjec...
  • chenfengdejuanlian
  • chenfengdejuanlian
  • 2016-08-12 12:36
  • 22326

浅谈Json在java中的使用

1.一般我们在进行客户端和服务端交换数据的时候,会使用Json来进行数据的传输,即转换成字符串类型的json数据来进行数据的交换。2.Json类型的数据一般是 JSONObject(对象),JSONArray(数组)。一般来说二组的区别在于,对象是无序的,而数组是有序的,看具体需求选择使用。impo...
  • u014242422
  • u014242422
  • 2016-11-30 21:40
  • 4800

Java中json的使用-7种开源库介绍与比较

有效选择七个关于Java的JSON开源类库 April 4, 2014 By Constantin Marian Alin 翻译:无若  (英语原文:http://www.developer.com/lang/jscript...
  • chenchaofuck1
  • chenchaofuck1
  • 2016-05-24 13:51
  • 4418

JAVA中的四种JSON解析方式详解

我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式。 1、JSON原生 2、GSON 3、FastJSON 4、jackson
  • u014332200
  • u014332200
  • 2017-08-02 10:52
  • 725
    个人资料
    • 访问:75208次
    • 积分:1464
    • 等级:
    • 排名:千里之外
    • 原创:61篇
    • 转载:3篇
    • 译文:5篇
    • 评论:15条
    欢迎关注


    博客专栏
    技术交流和分享
    工作邮箱:humf@vip.qq.com
    技术分享和交流QQ群:432135803
    微信公众号
    微信公众号
    分享到: 微信 更多
    2