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();
}
}

转载于:https://blog.51cto.com/shuaigee/1140100

java json格式化工具类相关推荐

  1. Java Json格式化工具

    Java Json格式化工具 Java 实现Json格式化工具 代码地址: https://github.com/AndroidJavaToolsDemo/JavaTool_JsonValidate ...

  2. Json 格式化工具类 支持Jackson、FastJson、Gson

    Json 格式化工具类 1.使用Jackson的DefaultPrettyPrinter来格式化json /*** 将对象按以格式化json的方式写出* 使用的json为Jackson** @para ...

  3. Java - json通用工具类

    1.json工具类 import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.Js ...

  4. 强大的Java Json工具类

    Json解析所需jar包:http://download.csdn.net/detail/u014676619/9238793 工具类: import java.io.BufferedReader; ...

  5. java json帮助类_java 写一个JSON解析的工具类

    上面是一个标准的json的响应内容截图,第一个红圈"per_page"是一个json对象,我们可以根据"per_page"来找到对应值是3,而第二个红圈&quo ...

  6. java json 工具类_Java中JSON处理工具类使用详解

    本文实例为大家分享了JSON处理工具类的具体代码,供大家参考,具体内容如下 import java.io.IOException; import java.util.Date; import java ...

  7. java——json工具类(json字符串转实体bean)

    本文使用谷歌的Gson来解析,导入包: implementation 'com.google.code.gson:gson:2.2.+' 首先在Android studio上安装插件 GsonForm ...

  8. Java时间格式化工具类大全_二

    本文章主要用于Java实现时间的各种格式的输入要求 import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGr ...

  9. Json工具类 - JsonUtils.java

    Json工具类,提供Json与对象之间的转换. 源码如下:(点击下载 - JsonUtils.java . gson-2.2.4.jar ) 1 import java.lang.reflect.Ty ...

最新文章

  1. 数据绑定设计器的使用
  2. JS给html控件赋值
  3. 计划任务管理 之 计划任务工具 cron 的配置和说明
  4. PyTorch系列 (二): pytorch数据读取自制数据集并
  5. python基本类型
  6. html placeholder 兼容问题,解决placeholder的兼容性
  7. ffdshow 源代码分析 4: 位图覆盖滤镜(滤镜部分Filter)
  8. linux apache 停止命令,linux 下 apache启动、停止、重启命令
  9. linux相关的东东 来自dbanotes
  10. 单片机 舵机 SG90 舵机 控制原理 MSP432 单片机
  11. 直播带货系统的六大热门功能模块概述
  12. 【搞一点AUTOSAR】基于TC397的MACL_ADC配置(Davinci工具链)
  13. 机械革命z2黑苹果改造计划第三番-macOS键盘快捷键Win键盘适配
  14. Python加密工具包pycrypto的安装
  15. k8s(六):配置管理与集群安全机制
  16. Ubuntu安装cuckoo
  17. 超级详细用C语言判断一个数是否是素数
  18. 一个不是很了解CS的人,该从哪里开始自学CS?
  19. 【解决方案】智慧气象:如何利用大数据及安防AI技术进行气象灾害监测预警?
  20. 去中心化与无平台成员:与 Nasheq.eth、Ivan Manchev和Rob Edwards开启 “智能钱包”系列对话!

热门文章

  1. Linux服务跟随启动,Linux—添加开机启动(服务/脚本)
  2. ios上input框上边有阴影
  3. Luogu P4774 / LOJ2721 【[NOI2018]屠龙勇士】
  4. 2018(上)C高级第0次作业
  5. zabbix 自定义监控项 获取nginx监控状态
  6. RMAN备份与恢复(三)--备份相关概念
  7. poj 2723 2-SAT问题
  8. 3306端口的入侵【转】
  9. 软件整合--硬件整合--平台整合
  10. ProtoBuf协议详解