Java對象轉爲Json串

在Ajax的應用中,我們通常需要將JavaBean,List,Map等對象轉爲Json串,方便頁面解析

需要導入的jar包有

commons-beanutils-1.7.0.jar
commons.collections-3.2.jar
commons-lang-2.4.jar
commons-logging-1.1.jar
ezmorph-1.0.4.jar
jdom.jar
json-lib-2.2.2-jdk15.jar
json-lib-2.2.3-jdk13.jar

POJO類

Student類

public class Student {
	private String id;
	private String name;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
Person類:

public class Person {
	private String name;
	private int age;
	private Student student;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Student getStudent() {
		return student;
	}
	public void setStudent(Student student) {
		this.student = student;
	}
	
}



1、將JavaBean轉爲Json串

public  void test1(){
	Student stu = new Student();
	stu.setId("111");
	stu.setName("stu1");
	Person p = new Person();
	p.setAge(18);
	p.setName("Person1");
	p.setStudent(stu);
	JSONObject json = JSONObject.fromObject(p);//將對象轉json
	System.out.println(json.toString());	
		
		
	Person jb = (Person)JSONObject.toBean(json,Person.class);	//將json轉爲JavaBean
	System.out.println(jb.getAge());
	System.out.println(jb.getName());
}

輸出結果爲:{"age":18,"name":"Person1","student":{"id":"111","name":"stu1"}}


2、將List轉爲Json

public void test2(){
	List list1 = new ArrayList();
	list1.add( "first" );
	list1.add( "second" );
	JSONArray arrayToJson = JSONArray.fromObject( list1 );
	System.out.println(arrayToJson.toString());
	System.out.println("--------------");
	List list2 = new ArrayList();
	Student s1 = new Student();
	s1.setId("111");s1.setName("aaa");
	Student s2 = new Student();
	s2.setId("111");s2.setName("aaa");
	list2.add(s1);
	list2.add(s2);
	arrayToJson = JSONArray.fromObject(list2);
	System.out.println(arrayToJson.toString());
}
輸出結果:

["first","second"]
--------------
[{"id":"111","name":"aaa"},{"id":"111","name":"aaa"}]

3、將Set轉爲Json

public void test5(){
	Set set = new HashSet();
	set.add("aaa");
	set.add("bbb");
	set.add("ccc");
	JSONArray jsonArray = JSONArray.fromObject(set);
	System.out.println(jsonArray.toString());
	System.out.println("--------------");
	Student stu = new Student();
	stu.setId("111");stu.setName("aaa");
	jsonArray = JSONArray.fromObject(stu);
	System.out.println(jsonArray.toString());
}

輸出結果:

["aaa","ccc","bbb"]
--------------
[{"id":"111","name":"aaa"}]

由此可見,List轉化爲Json與Set轉換爲Json的代碼基本相同


4、Map對象轉化爲Json

public void test3(){
	Map map = new HashMap();
	map.put("key1","aaa");
	map.put("key2","bbb");
	map.put("key3","ccc");
	map.put("key4","ddd");
	JSONObject obj = JSONObject.fromObject(map);
	System.out.println(obj.toString());
}
輸出結果:{"key4":"ddd","key3":"ccc","key2":"bbb","key1":"aaa"}


5、數組類型轉化爲json串

public void test4(){
		
	boolean[] boolArray = new boolean[] { true, false, true };
	JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
	System.out.println(jsonArray1.toString());
}
輸出結果:[true,false,true]




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章