一、引入jar包
使用JSONObject必須引用JSON-lib.jar,同時它還依賴於其他包
common-lang.jar
common-beanuitls.jar
common-collections.jar
common-logging.jar
ezmorph.jar
二、JSONObject對象使用
JSON-lib包是一個java對象、xml、JSON互相轉換的包。
1.將Java對象轉換成 json字符串
代碼如下:
Person p1=new Person();
p1.setName("劉大江");
p1.setAge(26);
String jsonStr=JSONObject.fromObject(p1).toString();
2.將Java 集合轉換成 json字符串
代碼如下:
Person p1=new Person();p1.setName("A1");p1.setAge(26);
Person p2=new Person();p2.setName("A2");p2.setAge(23);
List personList=new ArrayList<Person>();
personList.add(p1);
personList.add(p2);
Map personMap=new HashMap<String, Person>();
personMap.put("p1", p1);
personMap.put("p2", p2);
//[{"age":26,"name":"A1"},{"age":23,"name":"A2"}]
JSONArray.fromObject(personList).toString();
JSONSerializer.toJSON(personList)
//[{"p2":{"name":"A2","age":23},"p1":{"name":"A1","age":26}}]
JSONArray.fromObject(personMap).toString();
JSONSerializer.toJSON(personMap)
3.將json字符串轉換成動態Java對象
代碼如下:
String jsonStr="[{\"name\":\"A2\",\"age\":23},{\"name\":\"A1\",\"age\":26}]";
JSONArray ja=JSONArray.fromObject(jsonStr);
for(int i=0;i<ja.size();i++){
JSONObject jo= ja.getJSONObject(i); //轉換成JSONObject對象
System.out.println(jo.get("name"));
Person p=(Person)JSONObject.toBean(jo,Person.class); //轉換成JavaBean
System.out.println(p.getName());
}