java對象與json對象間的相互轉換

1.解析json字符串

將json字符串轉換爲json對象,然後再解析json對象:。
JSONObjectjsonObject = JSONObject.fromObject(jsonStr);
 根據json中的鍵得到它的值
Stringname = jsonObject.getString("name");
int age = jsonObject.getInt("age");

 
2.將json字符串轉換爲java對象
同樣先將json字符串轉換爲json對象,再將json對象轉換爲java對象,如下所示。
JSONObjectobj = new JSONObject().fromObject(jsonStr);//將json字符串轉換爲json對象
將json對象轉換爲java對象
Personjb = (Person)JSONObject.toBean(obj,Person.class);//將建json對象轉換爲Person對象

 
3.將java對象轉換爲json字符串

先將java對象轉換爲json對象,在將json對象轉換爲json字符串
JSONObjectjson = JSONObject.fromObject(obj);//將java對象轉換爲json對象
Stringstr = json.toString();//將json對象轉換爲字符串


實例代碼:

package Test3;

public class Person {
	
	private int age;
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	private String name;
	public String toString() {
		return "Person [age=" + age + ", name=" + name + "]";
	}
	public Person(int age, String name) {
		super();
		this.age = age;
		this.name = name;
	}
	
	public Person(String personStr){
		
	}
	
	public Person(){
		
	}
}

package Test3;
import net.sf.json.JSONObject;


public class JsonToObject {

	/**
	 * @param args
	 */
	public void test(){
		
		System.out.println("將object對象,字符串轉爲json對象");
		
		Person person = new Person(1, "cgf");
		
		JSONObject json = JSONObject.fromObject(person);
		
		System.out.println(json);
		
		System.out.println("將字符串轉成JSON對象,再轉爲自定義對象");
		
		String jsonString = "{" + "age" + ":1" + "," + "name" + ":" + "'wbj'" + "}";
		
		JSONObject jsonObject = JSONObject.fromObject(jsonString);
		
		System.out.println(jsonObject);
		
		Person person1 = (Person) JSONObject.toBean(jsonObject, Person.class);
		
		System.out.println("名字:"+person1.getAge() + "年齡:" + person1.getName());
		
		System.out.println("將Java對象轉爲json字符串");
		
		JSONObject json1 = JSONObject.fromObject(person);
		
		String jsonString1 = json1.toString();
		
		System.out.println(jsonString1);
		
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		JsonToObject json = new JsonToObject();
		
		json.test();
		
	}

}


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