2. Json-lib 和 Gson的对比

上一篇已经给大家介绍过json的表达方式,这一篇讲开始介绍如何在java中生成json。

[b]1.用json-lib生成json[/b]

要用到的jar包:[i]commons-beanutils-1.8.3.jar, commons-collections-3.2.1.jar, commons-lang-2.4.jar, commons-logging-1.1.1.jar, ezmorph-1.0.6.jar, json-lib-2.3-jdk15.jar[/i]


//1.对象
package com.hx.test;

import com.hx.entity.Person;

import net.sf.json.JSONObject;

public class JsonTest {

public static void main(String[] args) {

Person person = new Person();
person.setName("tom");
person.setAddress("UK");
person.setAge(14);
JSONObject json = JSONObject.fromObject(person);
System.out.println(json.toString());
}
}
//输出结果为:
//{"address":"UK","age":14,"name":"tom"}

//2.数组和集合
package com.hx.test;

import java.util.ArrayList;
import java.util.List;

import net.sf.json.JSONArray;

public class JsonTest {

public static void main(String[] args) {

List<String> fruit = new ArrayList<String>();

fruit.add("apple");
fruit.add("pear");
fruit.add("orange");
fruit.add("banana");

JSONArray fruits = JSONArray.fromObject(fruit);

System.out.println(fruits.toString());
}
}
//输出结果:
//["apple","pear","orange","banana"]

//2)Map集合
//Map集合比较特殊,因为 key-value键值对的对应方式,所以咱们应当用JSONObject来生成json。
package com.hx.test;

import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONObject;

public class JsonTest {

public static void main(String[] args) {

Map<String, String> map = new HashMap<String, String>();

map.put("001", "apple");
map.put("002", "pear");
map.put("003", "orange");
map.put("004", "banana");

JSONObject json = JSONObject.fromObject(map);

System.out.println(json.toString());
}
}
//输出结果:
//{"004":"banana","001":"apple","002":"pear","003":"orange"}

//3) Map集合扩展
package com.hx.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONObject;

public class JsonTest {

public static void main(String[] args) {

Map<String, List<String>> map = new HashMap<String, List<String>>();

List<String> strList1 = new ArrayList<String>();

strList1.add("aa");
strList1.add("bb");
strList1.add("cc");


List<String> strList2 = new ArrayList<String>();

strList2.add("dd");
strList2.add("ee");
strList2.add("ff");


List<String> strList3 = new ArrayList<String>();

strList3.add("gg");
strList3.add("hh");
strList3.add("ii");


map.put("001", strList1);
map.put("002", strList2);
map.put("003", strList3);

JSONObject json = JSONObject.fromObject(map);

System.out.println(json.toString());
}
}
//输出结果:
//{"001":["aa","bb","cc"],"002":["dd","ee","ff"],"003":["gg","hh","ii"]}


/*
和json-lib相比,Gson操作就相当的更简单了
不管是对象还是数组,还是上面较复杂的map集合,
操作都是一样的,Gson是出自google,应为比较小巧,所以其自己系统android上面用的也 是这个。
*/

//因为操作都一样,所以在这里只给大家演示一种情况。
//别忘了导jar包:[i]gson-2.1.jar[/i]
package com.hx.test;

import com.google.gson.Gson;
import com.hx.entity.Person;

public class GsonTest {

public static void main(String[] args) {

Person person = new Person();

person.setAddress("UK");
person.setAge(14);
person.setName("tom");

Gson gson = new Gson();

System.out.println(gson.toJson(person));
}
}
//输出结果:
//{"name":"tom","age":14,"address":"UK"}


好了,关于json-lib和Gson就介绍到这里,下一篇介绍如何在java端,用servlet输出json。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值