`
Sharpleo
  • 浏览: 564111 次
  • 性别: 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格式化工具

    HiJson官方版是一款Json格式化工具,HiJson官方版用于格式化JSON,XML转JSON,MAP转JSON,格式化XML,节点查找及文本查找,以树的形式展示,方便json字符串查看,支持各种常用操作,支持多标签。(解压:4efcb17e4b...

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

    资源中包含了java中的json格式数据的使用及到java对象的转换,以及转换过程中的一些特殊数据类型例如时间的格式化处理等问题。参见说明即可使用,本资源为本人的日常编程经验之总结,欢迎大家下载使用

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

    json数据交互时作为校验是否通过,用于后台需要构建json返回前台必备

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

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

    Json字符串格式化java工具和IO流读写管理文件工具

    1.非常简练易懂的JSON格式化小程序 2.实用的IO流管理,读写文件小程序,可改造 3.实际开发中临时写的自己用的,够用,不够完美

    JSON 格式化 校验器

    校验字符串 是否符合json书写规范 项目中的 共同工具类 简单易用

    格式化json工具.zip

    格式化json工具,无需安装加压即可使用,简单方便

    java工程常用代码工具类

    java工程常用代码工具类;包括jedis,ftp上传,json格式化,restful风格接口,http工具

    CoolFormat3.1_源代码格式化工具

    CoolFormat源代码格式化是一款C\C++\C#\CSS\HTML\Java\JavaScript\JSON\PHP\SQL\XML代码格式化工具。软件可以快速多种风格格式化,并对语言进行着色。界面采用Office 2010风格,并有多种样式可以替换。并且支持代码...

    邮件发送 poi 二维码 条形码等java常用的工具类

    该工具为个人整理修改的常用工具类,maven结构,Java语言编写详细依赖间pom文件,如有冲突自行修改, 包括条形码操作工具、二维码操作、图片验证码工具、动态密码工具、雪花算法id工具、签名工具、poi导出、json转换...

    Java常用工具类(持续发布,第一部分:日期、字符串、JSON工具类等)

    包含了货币工具类(将数字货币转成大写)、日期工具类(日期格式化、日期相加减、日期差等)、半角和全角字符相互转换、JSON工具类(利用gson工具包)、字符串工具类(非空判断等)

    JAVA工具类

    JsonUtils - json格式转换 lang CharsetDetectorUtils - 获取文本文件编码格式 ChineseCalendar - 农历日历 ConvertUtils - 高低字节转换 DateUtils - 日期工具类 HtmlFilterUtils - 过滤html标签 JsoupUtils - ...

    DBeaver sql格式化V1.5

    DBeaver工具很强大,但在sql格式化方面不尽人意,所以利用它的扩展功能开发出来的一个功能。 1、首选项中找到:sql编辑器-&gt;sql格式化 ,【格式】选择为【external formatter】;命令行输入:java -jar wjz-sqlFormat-...

    java工具类 utils.zip

    java开发工具类,包括日期格式化,字符串处理,字符串分割、替换,json处理,spingBean处理,随机数,加密解密,base64,图片处理,随机数,正则表达式

    源代码格式化工具

    源代码格式化是一款 C\C++\C#\CSS\HTML\Java\JavaScript\JSON\PHP\SQL\XML 代码格式化工具。软件可以快速多种风格格式化,并对语言进行着色。界面采用 Office 2010 风格,并有多种样式可以替换。并且支持代码高亮到...

    java开发常用工具类包.zip

    包含个人开发过程中常用工具类报,供大家方便提供,包含aes加密,格式化,excel导入导出,日期处理,IP获取,json转换等

    CoolFormat源代码格式化 V3.4

    CoolFormat源代码格式化是一款C\C++\C#\CSS\HTML\Java\JavaScript\JSON\Objective-C\PHP\SQL\XML代码格式化工具。软件可以快速多种风格格式化,并对语言进行着色。界面采用Office 2010风格,并有多种样式可以替换。...

    CoolFormat源代码格式化 V3.0

    CoolFormat源代码格式化是一款C\C++\C#\CSS\HTML\Java\JavaScript\JSON\PHP\SQL\XML代码格式化工具。软件可以快速多种风格格式化,并对语言进行着色。界面采用Office 2010风格,并有多种样式可以替换。并且支持代码...

    CoolFormat源代码格式化 V3.5

    CoolFormat源代码格式化是一款C\C++\C#\CSS\HTML\Java\JavaScript\JSON\Objective-C\PHP\SQL\Verilog\XML代码格式化工具。软件可以快速多种风格格式化,并对语言进行着色。界面采用Office 2010风格,并有多种样式...

    JAVA上百实例源码以及开源项目

    util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以...

Global site tag (gtag.js) - Google Analytics