[工具库]JOJSONBuilder工具类——一键把多个bean对象数据转换为JSON格式数据

简介:

本人大四即将毕业的准程序员(JavaSE、JavaEE、android等)一枚,小项目也做过一点,于是乎一时兴起就写了一些工具。

我会在本博客中陆续发布一些平时可能会用到的工具。

代码质量可能不是很好,大家多担待!

代码或者思路有不妥之处,还希望大牛们能不吝赐教哈!

 

以下代码为本人原创,转载请注明:

本文转载,来自:http://www.cnblogs.com/tiantianbyconan/archive/2013/02/19/2917433.html

 

JOJSONBuilder工具类:一键把多个域对象数据转换为JSON格式数据,方便用于数据的传输和交互。功能类似于通过Gson来生成Json数据。

源码如下:

View Code

 

使用方法如下:

例如:
Student类(该类有属性name,age,isBoy,books等属性;其中books属性是一个List,存放Book对象):

1 private String name;
2 private int age;
3 private boolean isBoy;
4 private List<Book> books;
5 //并实现getter和setter方法;

 

Book类(该类有属性name,author,number,length,width,isBorrowed等属性):

复制代码
1 private String name;
2 private String author;
3 private int number;
4 private float length;
5 private float width;
6 private boolean isBorrowed;
7 //并实现getter和setter方法;
复制代码

 

现在有一个List<Student>类型的数据,通过以下代码把该List转换为Json:

复制代码
List<Student> list = new ArrayList<Student>();

//构建几个Student对象,放入list中
//……

//完整数据版(不使用includes和excludes)
JOJSONBuilder jsonBuilder = new JOJSONBuilder(list);
String content = jsonBuilder.jsonBuild().toString();

//或者使用包括/排除:
JOJSONBuilder jsonBuilder = new JOJSONBuilder(list, new String[]{"name", "age"}, null);
jsonBuilder.jsonBuild().toString();

//或者使用方法链风格:
new JOJSONBuilder().setExcludes("name", "age").jsonBuild().toString();
复制代码

 

转换之后的Json(完整数据版(不使用includes和excludes)):

复制代码
 1 [
 2         {
 3                 'name':'hello',
 4                 'age':23,
 5                 'isBoy':true,
 6                 'books':[
 7                                         {
 8                                                 'name':'book1',
 9                                                 'author':'author1',
10                                                 'number':123,
11                                                 'length':23.5,
12                                                 'width':18.0,
13                                                 'isBorrowed':true
14                                         },
15                                         {
16                                                 'name':'book2',
17                                                 'author':'author2',
18                                                 'number':43,
19                                                 'length':42.23,
20                                                 'width':30.57,
21                                                 'isBorrowed':false
22                                         }
23                                 ]
24         },
25 
26         {
27                 'name':'world',
28                 'age':22,
29                 'isBoy':false,
30                 'books':[
31                                         {
32                                                 'name':'book1',
33                                                 'author':'author1',
34                                                 'number':123,
35                                                 'length':23.5,
36                                                 'width':18.0,
37                                                 'isBorrowed':true
38                                         },
39                                         {
40                                                 'name':'book3',
41                                                 'author':'author3',
42                                                 'number':875,
43                                                 'length':20.59,
44                                                 'width':15.08,
45                                                 'isBorrowed':false
46                                         },
47                                         {
48                                                 'name':'book4',
49                                                 'author':'author4',
50                                                 'number':165,
51                                                 'length':22.75,
52                                                 'width':19.61,
53                                                 'isBorrowed':true
54                                         }
55                                 ]
56         }
57 ]
复制代码

 

 

本文转自天天_byconan博客园博客,原文链接:http://www.cnblogs.com/tiantianbyconan/archive/2013/02/19/2917433.html ,如需转载请自行联系原作者
相关文章
|
6天前
|
XML JSON API
如何在 Postman 中上传文件和 JSON 数据
如果你想在 Postman 中同时上传文件和 JSON 数据,本文将带你一步一步地了解整个过程,包括最佳实践和技巧,让你的工作更轻松。
|
7天前
|
JSON JavaScript 前端开发
如何在 Postman 中发送 JSON 数据
我们将深入探讨使用 Postman 发送 JSON 数据这一主题,Postman 是一款强大的 API 测试和开发工具。无论您是经验丰富的开发人员还是新手,掌握这项技能对于高效的 API 测试和开发都至关重要。
|
12天前
|
JSON Java 数据库连接
怎样用 esProc 计算来自 Restful 的多层 json 数据
esProc 是一款强大的数据处理工具,可简化 Java 处理 Restful 接口返回的复杂多层 JSON 数据的难题。通过 esProc,不仅能轻松访问和解析 Restful 数据,还能高效完成复杂计算任务,并可无缝嵌入 Java 应用中作为计算引擎使用。例如,筛选特定分类订单或计算金额,esProc 的脚本简洁直观,远优于传统 SQL 或纯 Java 实现。此外,esProc 支持安全认证(如 Cookie 和 Token)及 JDBC 集成,为开发者提供灵活高效的解决方案。
|
Web App开发 JSON JavaScript
第168天:json对象和字符串的相互转换
json对象和字符串的相互转换 1、json对象和字符串的转换 在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。
1536 0
|
Web App开发 JSON 数据格式
JSON对象与字符串之间的相互转换 - CSDN博客
原文:JSON对象与字符串之间的相互转换 - CSDN博客 [html] view plain copy print?                  JSON对象与字符串之间的相互...
1695 0
|
Web App开发 JSON JavaScript
JSON对象和字符串之间的相互转换
原文:JSON对象和字符串之间的相互转换 比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: view source print? 1 var a=...
886 0
|
Web App开发 JSON JavaScript
JSON对象和字符串之间的相互转换
比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: view source   print? 1 var a={"name":"tom","sex":"男","age":"24"}; 2    3 var b='{"name":"Mike","sex":"女","age":"29"}'; 在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。
1004 0
|
29天前
|
XML JSON API
淘宝商品详情API的调用流程(python请求示例以及json数据示例返回参考)
JSON数据示例:需要提供一个结构化的示例,展示商品详情可能包含的字段,如商品标题、价格、库存、描述、图片链接、卖家信息等。考虑到稳定性,示例应基于淘宝开放平台的标准响应格式。
|
1月前
|
JSON Java 数据格式
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——封装统一返回的数据结构
本文介绍了在Spring Boot中封装统一返回的数据结构的方法。通过定义一个泛型类`JsonResult&lt;T&gt;`,包含数据、状态码和提示信息三个属性,满足不同场景下的JSON返回需求。例如,无数据返回时可设置默认状态码&quot;0&quot;和消息&quot;操作成功!&quot;,有数据返回时也可自定义状态码和消息。同时,文章展示了如何在Controller中使用该结构,通过具体示例(如用户信息、列表和Map)说明其灵活性与便捷性。最后总结了Spring Boot中JSON数据返回的配置与实际项目中的应用技巧。
118 0
|
1月前
|
JSON Java fastjson
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——使用 fastJson 处理 null
本文介绍如何使用 fastJson 处理 null 值。与 Jackson 不同,fastJson 需要通过继承 `WebMvcConfigurationSupport` 类并覆盖 `configureMessageConverters` 方法来配置 null 值的处理方式。例如,可将 String 类型的 null 转为 &quot;&quot;,Number 类型的 null 转为 0,避免循环引用等。代码示例展示了具体实现步骤,包括引入相关依赖、设置序列化特性及解决中文乱码问题。
63 0