集合和JSON之间的转换一

本文详细介绍如何使用net.sf.json库将JavaBean、List及Map等集合类型转换为JSON格式。包括单个JavaBean对象、包含JavaBean的List集合、普通List及Map集合的转换示例。
本文介绍使用net.sf.json包进行集合之间的转换

一.首先需要的jar包一共有6个:
commons-beanutils-1.7.0.jar
commons-collections-3.1.jar
commons-lang-2.5.jar
commons-logging.jar
ezmorph-1.0.3.jar
json-lib-2.4-jdk15.jar

核心方法:
JSONObject  json  =  JSONObject.fromObject(obj);
JSONArray  json  =  JSONArray.fromObject(obj);

二.javabean转换为json
Person p = new Person("张三",100,"man");
JSONObject json = JSONObject.fromObject(p);
System.out.println(json);
//结果:{"age":100,"name":"张三","sex":"man"}

三.List转换为json
1.普通List集合
List list = new ArrayList();
list.add("obj1");
list.add("obj2");
list.add("obj3");
JSONArray json = JSONArray.fromObject(list);
System.out.println(json);
//结果:["obj1","obj2","obj3"]

2.对象为javabean的List集合
List<Person> list = new ArrayList<Person>();
Person person1 = new Person("张三",20,"男");
Person person2 = new Person("李四",21,"女");
Person person3 = new Person("王五",22,"男");
list.add(person1);
list.add(person2);
list.add(person3);
		
JSONArray json = JSONArray.fromObject(list);
System.out.println(json);
//结果:[{"age":20,"name":"张三","sex":"男"},{"age":21,"name":"李四","sex":"女"},{"age":22,"name":"王五","sex":"男"}]


四.Map集合转换为Json
1、普通Map集合
Map map = new HashMap();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
		
JSONObject json = JSONObject.fromObject(map);
System.out.println(json);
//结果:{"key3":"value3","key2":"value2","key1":"value1"}

2、value是javabean的Map集合
Map<String,Person> map = new HashMap<String,Person>();
Person person1 = new Person("张三",20,"男");
Person person2 = new Person("李四",21,"女");
Person person3 = new Person("王五",22,"男");
map.put("k1", person1);
map.put("k2", person2);
map.put("k3", person3);
		
JSONObject json = JSONObject.fromObject(map);
System.out.println(json);
//结果;{"k3":{"age":22,"name":"王五","sex":"男"},"k1":{"age":20,"name":"张三","sex":"男"},"k2":{"age":21,"name":"李四","sex":"女"}}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值