`
Sharpleo
  • 浏览: 573758 次
  • 性别: Icon_minigender_1
  • 来自: newsk
社区版块
存档分类
最新评论

java json格式化工具类

    博客分类:
  • java
阅读更多
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.util.List;

/**
 * 
 * @author kingschan
 * @version 1.0
 * Json 字符串生成工具类
 * <P>
 * 传入数扰载体,生成json格式字符串
 * </p>
 */
public class JsonUtil {
	/**
	 * @param object
	 *            任意对象
	 * @return java.lang.String
	 */
	public static String objectToJson(Object object) {
		StringBuilder json = new StringBuilder();
		if (object == null) {
			json.append("\"\"");
		} else if (object instanceof String || object instanceof Integer) {
			json.append("\"").append((String) object).append("\"");
		} else {
			json.append(beanToJson(object));
		}
		return json.toString();
	}

	/**
	 * 功能描述:传入任意一个 javabean 对象生成一个指定规格的字符串
	 * 
	 * @param bean
	 *            bean对象
	 * @return String
	 */
	public static String beanToJson(Object bean) {
		StringBuilder json = new StringBuilder();
		json.append("{");
		PropertyDescriptor[] props = null;
		try {
			props = Introspector.getBeanInfo(bean.getClass(), Object.class)
					.getPropertyDescriptors();
		} catch (IntrospectionException e) {
		}
		if (props != null) {
			for (int i = 0; i < props.length; i++) {
				try {
					String name = objectToJson(props[i].getName());
					String value = objectToJson(props[i].getReadMethod()
							.invoke(bean));
					json.append(name);
					json.append(":");
					json.append(value);
					json.append(",");
				} catch (Exception e) {
				}
			}
			json.setCharAt(json.length() - 1, '}');
		} else {
			json.append("}");
		}
		return json.toString();
	}

	/**
	 * 功能描述:通过传入一个列表对象,调用指定方法将列表中的数据生成一个JSON规格指定字符串
	 * 
	 * @param list
	 *            列表对象
	 * @return java.lang.String
	 */
	public static String listToJson(List<?> list) {
		StringBuilder json = new StringBuilder();
		json.append("[");
		if (list != null && list.size() > 0) {
			for (Object obj : list) {
				json.append(objectToJson(obj));
				json.append(",");
			}
			json.setCharAt(json.length() - 1, ']');
		} else {
			json.append("]");
		}
		return json.toString();
	}
}

分享到:
评论
2 楼 dzhappy 2015-04-13  
objectToJson这个方法里面当对象为Integer类型的时候,可以这么转换String吗?(String)object。整体来说,楼主写的不错,一楼改的也不错。
1 楼 wbsrainbow 2014-04-02  
非常好 稍加了下改动
    public String objectToJson(Object object) {
        StringBuilder json = new StringBuilder();
        if (object == null) {
            json.append("\"\"");
        } else if (object instanceof String) {
            json.append("\"").append((String) object).append("\"");
        } else if (object instanceof Integer) {
            json.append("\"").append(String.valueOf(object)).append("\"");
        } else if (object instanceof Date) {
            SimpleDateFormat formatter = new SimpleDateFormat(
                    "yyyy-MM-dd HH:mm:ss");
            json.append("\"").append(formatter.format((Date) object))
                    .append("\"");
        } else if (object instanceof List<?>) {
            json.append("\"").append(listToJson((List<?>) object)).append("\"");
        } else {
            json.append(beanToJson(object));
        }
        return json.toString();
    }

相关推荐

    json格式化工具

    "json格式化工具"是用来帮助开发者处理和查看JSON数据的软件。这类工具的主要功能包括: 1. **美化输出**:将紧凑的JSON字符串转换成具有缩进和换行的易读格式,便于理解和调试。 2. **验证格式**:检查输入的JSON...

    Java图形实现json格式化

    在JSON格式化工具中,我们可以先将输入的JSON字符串解析为一个`JsonNode`对象,然后通过递归遍历整个JSON树,添加缩进和换行,实现格式化输出。 2. **Gson库**: Google提供的Gson库也可以实现JSON与Java对象之间...

    JAVA-JSON工具转换类

    在处理JSON时,可能需要将JSON解析得到的数据转换成特定的对象类型,或者将Java对象转换成适合JSON格式的数据,这时候`ezmorph`就可以派上用场。它可以方便地将一种类型的数据转换成另一种类型,比如将字符串转成...

    Java中使用JSON格式数据工具类及使用说明

    本资源“Java中使用JSON格式数据工具类及使用说明”提供了关于如何在Java中处理JSON数据的方法,包括将JSON数据转化为Java对象以及对特殊数据类型的处理,特别是时间格式化。以下是关于这些知识点的详细说明: 1. *...

    封装 fastjson 的json格式化工具

    **Fastjson JSON格式化工具封装详解** Fastjson是阿里巴巴开源的一款高效、强大的Java语言实现的JSON库。它具有性能优异、使用简单等优点,广泛应用于Java Web开发中,特别是对于数据的序列化与反序列化操作。在...

    java的xml和json相互转换工具类,亲测直接用

    本篇文章将详细介绍Java中如何实现XML和JSON的相互转换,并提供一个名为`XmlToJson.java`的工具类作为参考。 首先,XML是一种结构化的数据表示方式,它以树形结构存储数据,易于人类阅读和编写,同时也易于机器解析...

    好用,方便的json格式化工具

    "HiJson 2.1.2_jdk32"和"HiJson 2.1.2_jdk64"是这个JSON格式化工具的两个文件,分别对应于32位和64位Java开发环境。这意味着该工具可能是用Java语言编写的,并且可能依赖于特定版本的Java Development Kit (JDK)。...

    json格式化单机版工具(实用版本)无需联网

    HiJson支持的功能包括:格式化JSON,XML转JSON,MAP转JSON,格式化XML,节点查找及文本查找等,免费,强大! Json(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。...

    java验证字符串是否符合json格式

    否则,如果抛出异常(如`JSONException`),说明字符串不符合JSON格式,方法返回`false`。 请注意,这种方法只能验证JSON对象,如果需要验证JSON数组,可以使用`JSONArray`类代替`JSONObject`。另外,虽然这种方法...

    接口测试JSON格式化工具

    在进行接口测试时,JSON格式化工具扮演着至关重要的角色,它能帮助开发者和测试人员清晰地查看、编辑和验证JSON数据,提高工作效率。本文将详细介绍“接口测试JSON格式化工具”及其相关知识点。 标题中的“接口测试...

    json格式转换工具类

    综上所述,"json格式转换工具类"涉及到的是如何在Java环境中高效、安全地进行JSON数据的序列化与反序列化,以及自定义转换规则和处理潜在的安全风险。选择合适的工具库,并理解其基本用法,是提升开发效率的关键。

    Java json工具类,jackson工具类,ObjectMapper工具类

    在Java开发中,JSON(JavaScript ...它们能够方便地将Java对象和JSON格式数据互相转换,同时提供了一系列高级特性,以满足各种复杂场景的需求。通过理解和熟练使用这些工具,开发者可以更加高效地进行数据交换和处理。

    Java图形实现json格式化源码下载学习资料分享c

    其中,Jackson库中的`ObjectMapper`类是一个强大工具,它提供了解析JSON到Java对象以及将Java对象转换为JSON字符串的功能,并且支持JSON格式化输出。 首先,我们需要导入Jackson库。在Maven项目中,可以在pom.xml...

    json格式化工具11

    标题"json格式化工具11"可能指的是一个专门用来美化和整理JSON数据的软件或在线工具,这类工具通常可以将杂乱无章的JSON字符串转换为易读的格式,便于开发者查看和调试。HiJson 2.1.2_jdk64.exe则很可能是这样一个...

    java中返回layui数据表格的json格式的数据工具类

    这是layui数据表格返回的json格式的封装代码,其中有参数说明。使用于javaweb开发 ,返回的json为layui官方的json格式。

    格式化json工具.zip

    标题中的“格式化json工具.zip”是指一个包含JSON格式化工具的压缩文件。这种工具的主要功能是对杂乱无章的JSON数据进行美化和整理,使其更易读,便于开发者理解和调试。在实际开发过程中,原始的JSON数据可能会因为...

    JAVA 解析JSON格式数据

    本篇文章将深入探讨如何在Java中解析JSON格式的数据,我们将参考提供的博文链接进行讲解。 首先,Java中解析JSON主要有两个主流库:Jackson和Gson。Jackson是目前最流行的Java JSON库之一,它提供了高性能和丰富的...

    HiJson,json格式化工具

    HiJson是一款实用的JSON格式化工具,尤其适用于开发者在处理JSON数据时,需要将混乱的JSON字符串整理成清晰易读的格式。 HiJson 2.1.2_jdk64版本是专为Java 64位环境设计的,这意味着它依赖于64位的Java运行环境...

    json格式数据解析工具类

    总的来说,这个“json格式数据解析工具类”是Java开发中处理JSON数据的一个利器,它简化了JSON数据的解析过程,让开发者能更专注于业务逻辑,而不是基础的数据转换工作。通过学习和熟练掌握这个工具类的使用,能够...

Global site tag (gtag.js) - Google Analytics