用第三方工具类,将JavaBean、List、Map<String,Object>转成JSON文本
导入第三方jar包:
》commons-beanutils-1.7.0.jar
》commons-collections-3.1.jar
》commons-lang-2.5.jar
》commons-logging-1.1.1.jar
》ezmorph-1.0.3.jar
》json-lib-2.1-jdk15.jar
(1)JavaBean->JSON
》JSONArray jsonArray = JSONArray.fromObject(city);
》String jsonJAVA = jsonArray.toString();
(2)List<JavaBean>->JSON
》JSONArray jsonArray = JSONArray.fromObject(cityList);
》String jsonJAVA = jsonArray.toString();
(3)List<String>->JSON
》JSONArray jsonArray = JSONArray.fromObject(stringList);
》String jsonJAVA = jsonArray.toString();
(4)Map<String,Object>->JSON【重点】
package loaderman.bean2json; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import net.sf.json.JSONArray; import org.junit.Test; /**
* 演示用第三方工具类,将JavaBean、List、Map<String,Object>转成JSON文本
**/
public class TestJson {
@Test
public void javabean2json() {
User user = new User(1, "哈哈", 123, "男");
JSONArray jsonArray = JSONArray.fromObject(user);
String jsonJAVA = jsonArray.toString();
System.out.println(jsonJAVA);
//[{"id":1,"name":"哈哈","sal":7000}]
} @Test
public void list2json() {
List<User> userList = new ArrayList<User>();
userList.add(new User(1, "恩和", 123, "男"));
userList.add(new User(2, "恩和老婆", 123, "男"));
userList.add(new User(3, "恩和小孩", 24, "男"));
JSONArray jsonArray = JSONArray.fromObject(userList);
String jsonJAVA = jsonArray.toString();
System.out.println(jsonJAVA);
//[{"id":1,"name":"恩和","sal":7000},{"id":2,"name":"福老婆","sal":8000},{"id":3,"name":"恩和","sal":20000}]
} @Test
public void map2json() {
List<User> userList = new ArrayList<User>();
userList.add(new User(1, "张三", 7000, "男"));
userList.add(new User(2, "张三老婆", 8000, "女"));
userList.add(new User(3, "张三小孩", 20000, "男"));
userList.add(new User(4, "张三小孩的小孩", 40000, "男")); Map<String, Object> map = new HashMap<String, Object>();
//total表示集合的长度
map.put("total", userList.size());
//rows表示集合内容
map.put("rows", userList); JSONArray jsonArray = JSONArray.fromObject(map);
String jsonJAVA = jsonArray.toString();
System.out.println(jsonJAVA); jsonJAVA = jsonJAVA.substring(1, jsonJAVA.length() - 1); System.out.println(jsonJAVA);
}
}
用第三方工具类,将JavaBean、List、Map<String,Object>转成JSON文本的更多相关文章
- JavaBean与Map<String,Object>相互转换
一.为什么要实现javaBean与Map<String,Object>相互转换 Spring中的BaseCommandController对象可以将传递过来的参数封装到一个JavaBean ...
- javaBean与Map<String,Object>互转
背景:有时候想不通阿帕奇的BeanUtils是怎么进行map和Bean互相转化的. 工作闲暇之余,自己写个一小段代码,一探究竟,试试才发现,原来一切并非我们想的那么什么和复杂. 注:这里只是简单实例, ...
- 把List<Map<String,Object>>转成Map<String,Object>
Map<String, Object> parmMap = new HashMap<String, Object>(); //定义一个用于存储强转后的Map List<M ...
- Java处理JSON的工具类(List、Map和JSON之间的转换)——依赖jsonlib支持Map嵌套
原文链接:http://www.itjhwd.com/java_json/ 代码 package com.itjh.mmp.util; import java.io.BufferedReader; i ...
- JDBC--使用beanutils工具类操作JavaBean
1.在JavaEE中,Java类的属性通过getter,setter来定义: 2.可使用BeanUtils工具包来操作Java类的属性: --Beanutils是由Apache公司开发,能够方便对Be ...
- JAVA中对List<map<String,Object>>根据map某个key值进行排序
方法compareTo()比较此对象与指定对象的顺序.如果该对象小于.等于或大于指定对象,则分别返回负整数.零或正整数.返回整数,1,-1,0:返回1表示大于,返回-1表示小于,返回0表示相等. 普通 ...
- 自定义规则,对List<Map<String,Object>> List<Object>进行排序
package lltse.java.collection; import java.util.ArrayList; import java.util.Collections; import java ...
- String, JSONArray , JSONObject ,Map<String, Object> 与对象
String pic = "[{\"picServiceUrl\": \"0f4bb44afb2e48d48b786d3bbdeec283/20180408/6 ...
- Mybatis 遍历 List<Map<String,Object>>
在上一篇博客中总结了MyBatis Plus 实现多表分页模糊查询(链接在最后).返回类型是编写一个专门的vo类.这次是返回List < Map > 前言 编写一个专门的vo返回类,主 ...
随机推荐
- 【Struts2】Ognl与ValueStack
一.OGNL 1.1 概述 1.2 OGNL 五大类功能 1.3 演示 二.ValueStack 2.1 概述 2.2 ValueStack结构 2.3 结论 2.3 一些问题 三.OGNL表达式常见 ...
- pytorch转onnx问题
Fail to export the model in PyTorch https://github.com/onnx/tutorials/blob/master/tutorials/PytorchA ...
- ie11浏览器不显示vbs脚本
最初接触学习vbs在浏览器上运行,老不显示vbscript脚本语言,所以找了很久,最后就用这个方法吧,比较简单有效 原因:新版IE不再支持 VBScript,就是因为微软已经放弃把VBScript作为 ...
- Flutter——Row组件(水平布局组件)
Row组件的常用属性 属性 说明 mainAxisAlignment 主轴的排序方式 crossAxisAlignment 次轴的排序方式 children 组件子元素 import 'package ...
- linux kill某一用户的所有tomcat进程
1.查看Tomcat进程 ps -ef|grep tomcat 显示当前所有进程: ps -ef|grep tomcat-web 进程中有不同的进程,查询全名,精准kill. 2.根据进程号kil ...
- python基础:流程控制案例:
1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同 声传译,读入一行翻译 ...
- c#客户端自动更新模块
一.概述 将需要更新的文件上传到服务器端,然后客户端从服务器下载更新文件并覆盖本地文件. 二.功能模块 1.将更新文件放入指定文件夹,检测更新,生成更新配置文件,并上传到服务器 2.获取服务器的更新配 ...
- mybayis项目使用的Mapping文件使用总结参考(二)
针对in字句中的数组使用方法 <select id="getCpProfileNamesByIds" resultType="string"> se ...
- 02_pip区别: linux环境下python2,python3的
1.pip与pip3理解 centos中,我的pip与pip3都是python2.7的,所以无法安装成功,总是安装成python2的 [root@IP ~]# pip -V pip /site-pac ...
- Codeforces Good Bye 2017 908F F. New Year and Rainbow Roads
题 OvO http://codeforces.com/contest/908/problem/F CF 908F 解 需要注意细节的模拟题. 如果三种颜色都存在,则记每两个相邻的G组成一个段,对每个 ...