首先导入六个jar包,jar包的名字如下,主要jar包是json-lib-2.4-jdk15.jar其他jar包是其依赖的jar包.
关于jsonlib插件的使用:
1.导包(6个包)
2.将java对象转换成json
-->1.对于数组,List集合,要想转换成json
JSONArray.fromObject(java对象); ["value1","value2"]
-->2.对于JavaBean,Map
JSONObject.fromObject(JavaBean对象); {name1:value1,name2:value2}
对于json数据,它只有两种格式
-->1.[值1,值2,...] ------>这就是JavaScript中的数组.
-->2.{name:value,...} ------>就是JavaScript中的对象.
但是这两种格式可以嵌套.
[{},{},{}]
{name:[],name:[]}
3.如果JavaBean中有一个属性,不想生成在json中,怎样处理?
JsonConfig config = new JsonConfig();
config.setExcludes(new String[] {"type"});
JSONArray.fromObject(ps,config).tostring();
上述代码就是在生成json时,不将type属性包含.
然后创建一个jsonLibTest.java的类.
package cn.com.jsonlib; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import org.junit.Test; import cn.com.domain.Product; public class JsonLibTest { // 将数组转换成json @Test public void fun1() { String[] st = { "aaa", "bbb", "ccc" }; String json = JSONArray.fromObject(st).toString(); System.out.println(json); // ["aaa","bbb","ccc"] } // 将List集合转换成json @Test public void fun2() { List<String> list = new ArrayList<String>(); list.add("111"); list.add("222"); list.add("333"); String json = JSONArray.fromObject(list).toString(); System.out.println(json); // ["111","222","333"] } // 将一个javaBean转换成json @Test public void fun3() { Product p = new Product(1, "电冰箱", 1800); String json = JSONObject.fromObject(p).toString(); System.out.println(json); // {"id":1,"name":"电冰箱","price":1800} } // 如果List<Product> @Test public void fun4() { List<Product> ps = new ArrayList<Product>(); ps.add(new Product(1, "洗衣机", 1800)); ps.add(new Product(2, "电视机", 3800)); ps.add(new Product(3, "空调", 5800)); JsonConfig config = new JsonConfig(); config.setExcludes(new String[] { "type" }); String json = JSONArray.fromObject(ps, config).toString(); System.out.println(json); } // map集合转换成json @Test public void fun5() { Map<String, String> map = new HashMap<String, String>(); map.put("aaa", "1111"); map.put("bbb", "222"); System.out.println(JSONObject.fromObject(map).toString()); } // 将json转换成java @Test public void fun6() { Product p = new Product(1, "电冰箱", 1800); JSONObject jsonObj = JSONObject.fromObject(p); // 将jsonObj在转换成java对象 Product pp= (Product) JSONObject.toBean(jsonObj,Product.class); System.out.println(pp); } }
下面是每个方法在控制台的输出效果.