`
httpclient_bd
  • 浏览: 74553 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

json-lib反射annotation自定义字段名的转换(bean2json_str)

 
阅读更多
by alex

目的,根据类的annotation,将一个对象转化为字段为annotation指定name的json字符串。

JSONBuilder builder = new JSONBuilder(response.getWriter());
builder.array();
			for (Object stat : stats) {
				
				boolean flag = stat.getClass().isAnnotationPresent(Table.class);
				String name = stat.getClass().getSimpleName();
				if (flag) {
					Table table = (Table) stat.getClass().getAnnotation(Table.class);
					name = table.name();
				}
				
				builder.object();
				builder.key(name);
				
				builder.object();
				Method[] methods = stat.getClass().getMethods();
				for (Method method : methods) {
					if (!"id".equals(method.getName()) && method.getName().startsWith("get")) {
						boolean isAnno = method.isAnnotationPresent(Column.class);
						String columnName = method.getName();
						if (isAnno) {
							Column c = method.getAnnotation(Column.class);
							columnName = c.name();
						}
						
						Object result = method.invoke(stat);
						if (result instanceof Date) {
							result = new Long(((Date)result).getTime() / 1000);
						}
						if (result instanceof Double && Double.isNaN((Double)result)) {
							result = new Double(0d);
						}
						builder.key(columnName).value(result);
					}
				}
				builder.endObject();
				
				builder.endObject();
			}
			builder.endArray();
			response.getWriter().close();
分享到:
评论

相关推荐

    json-lib-support-spring-源码.rar

    这可以通过在 `<mvc:annotation-driven>` 或 `<bean>` 元素中配置来实现。 3. **Spring 表达式语言 (SpEL) 支持**:在 Spring 中,可以通过 SpEL 来访问和操作对象。在某些情况下,我们可能需要将 SpEL 表达式的...

    springmvc-json-lib.rar

    此外,我们还可以自定义JSON序列化和反序列化的规则,例如忽略某些字段、自定义日期格式等,通过创建Jackson的`ObjectMapper`实例并配置相关属性来实现。 最后,关于RAR文件,它是Microsoft的压缩文件格式,用于...

    point-cloud-annotation-tool win10解压直接运行

    "point-cloud-annotation-tool" 提供了在Windows 10操作系统上直接进行点云注解的能力,无需复杂的安装过程,只需解压即可运行。 1. 点云标注工具介绍: 点云标注工具是专门用于标记和分类点云数据的软件,它可以...

    point-cloud-annotation-tool

    github链接链接:https://github.com/springzfx/point-cloud-annotation-tool 在windows平台编译完成后的exe和dll文件,可以直接打开使用,并对原项目进行了优化,增加了列表和标注文件的显示功能,标注起来更快,...

    mybatis-plus-annotation-3.5.3.2.jar

    mybatis-plus-annotation.jar MP 注解 jar 包 mybatis-plus 的注解 jar 包,包含了 mybatis-plus 注解功能 各个版本

    mybatis-plus-annotation-3.4.0.jar

    mybatis-plus-annotation-3.4.0.jar

    mybatis-plus-annotation-3.5.3.jar

    mybatis-plus-annotation.jar MP 注解 jar 包 mybatis-plus 的注解 jar 包,包含了 mybatis-plus 注解功能 各个版本

    前端项目-chartjs-plugin-annotation.zip

    **Chart.js插件-Annotation详解** 在前端开发中,数据可视化是至关重要的,它能够将复杂的数据以图形的形式展示,使用户更容易理解。Chart.js是一个轻量级且强大的JavaScript库,用于创建各种图表,如折线图、柱状...

    mybatis-plus-annotation-3.2.0-API文档-中英对照版.zip

    赠送jar包:mybatis-plus-annotation-3.2.0.jar; 赠送原API文档:mybatis-plus-annotation-3.2.0-javadoc.jar; 赠送源代码:mybatis-plus-annotation-3.2.0-sources.jar; 赠送Maven依赖信息文件:mybatis-plus-...

    mybatis-plus-annotation-3.5.0.jar

    mybatis-plus-annotation.jar MP 注解 jar 包 mybatis-plus 的注解 jar 包,包含了 mybatis-plus 注解功能 各个版本

    mybatis-plus-annotation-3.5.1-API文档-中文版.zip

    赠送jar包:mybatis-plus-annotation-3.5.1.jar; 赠送原API文档:mybatis-plus-annotation-3.5.1-javadoc.jar; 赠送源代码:mybatis-plus-annotation-3.5.1-sources.jar; 赠送Maven依赖信息文件:mybatis-plus-...

    mybatis-plus-annotation-3.1.0-API文档-中文版.zip

    赠送jar包:mybatis-plus-annotation-3.1.0.jar; 赠送原API文档:mybatis-plus-annotation-3.1.0-javadoc.jar; 赠送源代码:mybatis-plus-annotation-3.1.0-sources.jar; 赠送Maven依赖信息文件:mybatis-plus-...

    mybatis-generator-core-chinese-annotation-1.3.5-master.zip

    在描述中提到的"mybatis-generator-core-chinese-annotation-1.3.5-master.zip"是一个包含MBG中文注解版1.3.5版本的压缩包,旨在帮助开发者更方便地理解和使用这个工具。 MBG的核心功能在于根据数据库表自动生成...

    mybatis-plus-annotation-3.5.1-API文档-中英对照版.zip

    赠送jar包:mybatis-plus-annotation-3.5.1.jar; 赠送原API文档:mybatis-plus-annotation-3.5.1-javadoc.jar; 赠送源代码:mybatis-plus-annotation-3.5.1-sources.jar; 赠送Maven依赖信息文件:mybatis-plus-...

    mybatis-plus-annotation-3.1.0-API文档-中英对照版.zip

    赠送jar包:mybatis-plus-annotation-3.1.0.jar; 赠送原API文档:mybatis-plus-annotation-3.1.0-javadoc.jar; 赠送源代码:mybatis-plus-annotation-3.1.0-sources.jar; 赠送Maven依赖信息文件:mybatis-plus-...

    json-annotation, 将JSON格式添加到项目类的播放案例中的最快捷方法.zip

    json-annotation, 将JSON格式添加到项目类的播放案例中的最快捷方法 在project项目类case中添加JSON格式是添加JSON格式的最快的方法。#How 它只在你的案例类定义前面添加 @json:import com.kifi.macros.json@json ...

    geronimo-annotation_1.0_spec-1.1.1-API文档-中文版.zip

    赠送jar包:geronimo-annotation_1.0_spec-1.1.1.jar; 赠送原API文档:geronimo-annotation_1.0_spec-1.1.1-javadoc.jar; 赠送源代码:geronimo-annotation_1.0_spec-1.1.1-sources.jar; 赠送Maven依赖信息文件:...

    Python库 | girder-large-image-annotation-1.7.2.dev22.tar.gz

    总结来说,“girder-large-image-annotation-1.7.2.dev22”是一个针对大型图像注解的强大工具,结合了Girder的管理和共享能力,为处理大图像数据提供了一种高效的解决方案。无论你是研究者、开发者还是数据科学家,...

    animal-sniffer-annotation-1.0-sources.jar

    官方版本,亲测可用

    hibernate-validator-annotation-processor-5.1.0.CR1.zip

    【标题】"Hibernate Validator Annotation Processor 5.1.0.CR1" Hibernate Validator 是一个流行的开源验证框架,它基于JSR 303/JSR 349(Bean Validation)标准,为Java应用程序提供了强大的数据验证功能。...

Global site tag (gtag.js) - Google Analytics