java对象与json对象间的相互转换

来源:互联网 发布:plsql随机抽取数据 编辑:程序博客网 时间:2024/05/21 10:43

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对象转换为字符串



[java] view plain copy
 print?
  1. package Test3;  
  2.   
  3. public class Person {  
  4.       
  5.     private int age;  
  6.     public int getAge() {  
  7.         return age;  
  8.     }  
  9.     public void setAge(int age) {  
  10.         this.age = age;  
  11.     }  
  12.     public String getName() {  
  13.         return name;  
  14.     }  
  15.     public void setName(String name) {  
  16.         this.name = name;  
  17.     }  
  18.     private String name;  
  19.     public String toString() {  
  20.         return "Person [age=" + age + ", name=" + name + "]";  
  21.     }  
  22.     public Person(int age, String name) {  
  23.         super();  
  24.         this.age = age;  
  25.         this.name = name;  
  26.     }  
  27.       
  28.     public Person(String personStr){  
  29.           
  30.     }  
  31.       
  32.     public Person(){  
  33.           
  34.     }  
  35. }  

[java] view plain copy
 print?
  1. package Test3;  
  2. import net.sf.json.JSONObject;  
  3.   
  4.   
  5. public class JsonToObject {  
  6.   
  7.     /** 
  8.      * @param args 
  9.      */  
  10.     public void test(){  
  11.           
  12.         System.out.println("将object对象,字符串转为json对象");  
  13.           
  14.         Person person = new Person(1"cgf");  
  15.           
  16.         JSONObject json = JSONObject.fromObject(person);  
  17.           
  18.         System.out.println(json);  
  19.           
  20.         System.out.println("将字符串转成JSON对象,再转为自定义对象");  
  21.           
  22.         String jsonString = "{" + "age" + ":1" + "," + "name" + ":" + "'wbj'" + "}";  
  23.           
  24.         JSONObject jsonObject = JSONObject.fromObject(jsonString);  
  25.           
  26.         System.out.println(jsonObject);  
  27.           
  28.         Person person1 = (Person) JSONObject.toBean(jsonObject, Person.class);  
  29.           
  30.         System.out.println("名字:"+person1.getAge() + "年龄:" + person1.getName());  
  31.           
  32.         System.out.println("将Java对象转为json字符串");  
  33.           
  34.         JSONObject json1 = JSONObject.fromObject(person);  
  35.           
  36.         String jsonString1 = json1.toString();  
  37.           
  38.         System.out.println(jsonString1);  
  39.           
  40.     }  
  41.       
  42.     public static void main(String[] args) {  
  43.         // TODO Auto-generated method stub  
  44.           
  45.         JsonToObject json = new JsonToObject();  
  46.           
  47.         json.test();  
  48.           
  49.     }  
  50.   
  51. }