开始使用JSON lib——前后台交互
1. json-lib是一个java类库,提供将Java对象,包括beans, maps, collections, java arrays and XML等转换成JSON,或者反向转换的功能。
2. json-lib 主页 : http://json-lib.sourceforge.net/
find-jar(用来查找jar包):http://www.findjar.com/index.x
3.执行环境
需要以下类库支持
- jakarta commons-lang 2.5
- jakarta commons-beanutils 1.8.0
- jakarta commons-collections 3.2.1
- jakarta commons-logging 1.1.1
- ezmorph 1.0.6
4.测试
package com.bipaas.utility;
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;
public class TransJSON {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//List集合转换成json代码
List list = new ArrayList();
list.add("first");
list.add("second");
JSONArray json1 = JSONArray.fromObject(list);
System.out.println(json1+"………………json1");
//Map集合转换成json代码
Map map = new HashMap();
map.put("name", "json");
map.put("bool",Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[]{"a","b"});
map.put("func", "function(i){return this.arr[i];}");
JSONObject json2 = JSONObject.fromObject(map);
System.out.println(json2+"………………json2");
//Bean转换成json代码
// JSONObject jsonObject = JSONObject.fromObject(new JSONBean());
//数组转换成json代码
boolean[] boolArray = new boolean[]{true,false,true};
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
System.out.println(jsonArray1+"………………jsonArray1");
String json = "{name="json",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";
JSONObject json3 = JSONObject.fromObject( json );
System.out.println(json3+"………………json3");
String json4 = "{bool:true,integer:1,string:"json"}";
JSONObject jsonObject3 = JSONObject.fromObject( json4 );
System.out.println(json4+"………………json4");
//一般数据转换成json代码
JSONArray jsonArray2 = JSONArray.fromObject("['json','is','easy']");
System.out.println(jsonArray2+"………………jsonArray2");
}
}
5.执行结果
log4j:ERROR No appender named [console] could be found.
["first","second"]………………json1
{"arr":["a","b"],"int":1,"name":"json","func":function(i){return this.arr[i];},"bool":true}………………json2
[true,false,true]………………jsonArray1
{"name":"json","bool":true,"int":1,"double":2.2,"func":function(a){ return a; },"array":[1,2]}………………json3
{bool:true,integer:1,string:"json"}………………json4
["json","is","easy"]………………jsonArray2