JSON詳解以及可以把javabean轉換成json串的json-lib應用


JSON

  1. json是什么
    它是js提供的一種數據交換格式!

  2. json的語法
    {}:是對象!
    屬性名必須使用雙引號括起來!單引不行!!!
    屬性值:null,數值,字符串,數組:使用[]括起來,boolean值:true和false

  3. 應用json
    var person = {"name":"zhangSan", "age":18, "sex":"male"};

  4. json與xml比較
    可讀性:XML勝出
    解析難度:JSON本身就是JS對象(主場作戰),所以簡單很多
    流行度:XML已經流行好多年,但在AJAX領域,JSON更受歡迎。

json-lib

  1. 是什么?
    它可以把javabean轉換成json串
  2. jar包
    json-lib的核心jar包有: 
      json-lib.jar
    json-lib的依賴jar包有:
      commons-lang.jar
      commons-beanutils.jar
      commons-logging.jar
      commons-collections.jar
      ezmorph.jar
  3. 核心類
    JSONObject --> Map
      toString();
      JSONObject map = JSONObject.fromObject(person):把對象轉換成JSONObject對象
    JSONArray --> List
      toString()
      JSONArray jsonArray = JSONObject.fromObject(list):把list轉換成JSONArray對象

應用案例:

 1 import java.util.ArrayList;
 2 import java.util.List;
 3 import net.sf.json.JSONArray;
 4 import net.sf.json.JSONObject;
 5 import org.junit.Test;
 6 /**
 7  * 演示JSON-LIB小工具 
 8  */
 9 public class Demo1 {
10     //當map來用
11     @Test
12     public void fun1() {
13         JSONObject map = new JSONObject();
14         map.put("name", "zhangSan");
15         map.put("age", 23);
16         map.put("sex", "male");
17         String s = map.toString();
18         System.out.println(s);
19         //輸出:{"name":"zhangSan","age":23,"sex":"male"}
20     }
21     //當你已經有一個Person對象時,可以把Person轉換成JSONObject對象
22     @Test
23     public void fun2() {
24         Person p = new Person("liSi", 32, "female");
25         // 把對象轉換成JSONObject類型
26         JSONObject map = JSONObject.fromObject(p);
27         System.out.println(map);
28         //輸出:{"age":32,"name":"liSi","sex":"female"}
29     }
30     //JSONArray
31     @Test
32     public void fun3() {
33         Person p1 = new Person("zhangSan", 23, "male");
34         Person p2 = new Person("liSi", 32, "female");
35         JSONArray list = new JSONArray();
36         list.add(p1);
37         list.add(p2);
38         System.out.println(list.toString());
39         //輸出:[{"age":23,"name":"zhangSan","sex":"male"},{"age":32,"name":"liSi","sex":"female"}]
40     }
41     //原來就有一個List,我們需要把List轉換成JSONArray
42     @Test
43     public void fun4() {
44         Person p1 = new Person("zhangSan", 23, "male");
45         Person p2 = new Person("liSi", 32, "female");
46         List<Person> list = new ArrayList<Person>();
47         list.add(p1);
48         list.add(p2);
49         System.out.println(JSONArray.fromObject(list).toString());
50         //輸出:[{"age":23,"name":"zhangSan","sex":"male"},{"age":32,"name":"liSi","sex":"female"}]
51     }
52 }
 1     
 2 public class Person {
 3     private String name;
 4     private int age;
 5     private String sex;
 6     public String getName() {
 7         return name;
 8     }
 9     public void setName(String name) {
10         this.name = name;
11     }
12     public int getAge() {
13         return age;
14     }
15     public void setAge(int age) {
16         this.age = age;
17     }
18     public String getSex() {
19         return sex;
20     }
21     public void setSex(String sex) {
22         this.sex = sex;
23     }
24     public Person() {
25         super();
26         // TODO Auto-generated constructor stub
27     }
28     public Person(String name, int age, String sex) {
29         super();
30         this.name = name;
31         this.age = age;
32         this.sex = sex;
33     }
34     @Override
35     public String toString() {
36         return "Person [name=" + name + ", age=" + age + ", sex=" + sex + "]";
37     }
38     
39     
40 }
Person


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM