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();
}
}