java——json入門,什麼是json

1、什麼是json:
json是一種數據格式,對於我們互聯網來說,我們服務器和客戶端有大量的數據需要進行傳輸。以前通用的方式是xml,但是xml數據體重太大,效率低下,所以就有了另外一種數據格式,叫json
json一共有兩種體現:
json對象、json數組

json對象:json本身是一個字符串,{建:值, 建:值}
這裏寫圖片描述
舉例
“{“roleId”:1, “roleName”:”財務”, “roleStatu”:”1”, “createdate”:”2018年7月30日”}”
簡單來說就是一個用於描述對象的字符串。

json數組:

    [{"roleId":1, "roleName":"財務1", "roleStatu":"1", "createdate":"2018年7月30日"}
    ,{"roleId":1, "roleName":"財務2", "roleStatu":"1", "createdate":"2018年7月30日"}
    ,{"roleId":1, "roleName":"財務3", "roleStatu":"1", "createdate":"2018年7月30日"}
    {"roleId":1, "roleName":"財務4", "roleStatu":"1", "createdate":"2018年7月30日"}
    ]

json數組就是隻的裏面可以裝多個json對象,用逗號隔開,
這裏寫圖片描述
json有什麼用?
json就是吧服務器需要回傳給客戶端的數據以貴方的形式組裝成字符串,然後傳輸到客戶端,客戶端接收之後就可以自動解析獲取數據。
這裏寫圖片描述

基於此,json想應用於各種編程語言就必須要爲各種編程語言提供解析json的工具和源代碼。所以我們就需要下載json的jar包。

json入門案例:

java是以類創建對象來描述數據的,我們需要用java吧我們的javaBean轉換成json對象,然後傳輸給客戶端,客戶端在吧數據解析出來。
1、下載jar包
這裏寫圖片描述
包全部導入到我們的項目:

1、javaBean轉json

        Role role = new Role(1,"財務",new Date().toLocaleString());

        //吧javaBean轉換成json
        JSONObject json = JSONObject.fromObject(role);
        System.out.println(json.toString());

        /**
            {"createDate":"2018-7-30 15:11:24","id":1,"name":"財務"}  
         */

2、java集合轉json
我們java返回多個數據一般都是使用集合,ArrayList居多,
Role role1 = new Role(1,”財務”,new Date().toLocaleString());
Role role2 = new Role(2,”會計”,new Date().toLocaleString());
Role role3 = new Role(3,”出納”,new Date().toLocaleString());
ArrayList list = new ArrayList();
list.add(role1);
list.add(role2);
list.add(role3);

    JSONArray array = JSONArray.fromObject(list);
    System.out.println(array);

如果其他的如linkedList,Vector也是如此操作

3、有時我們爲了極簡開發會使用Map,map轉json如下操作

    HashMap<String, Object> rolemap = new HashMap<String, Object>();
        rolemap.put("roleId", 1);
        rolemap.put("roleName", "財務");
        rolemap.put("createDate", new Date().toLocaleString());

        JSONObject json2 = JSONObject.fromObject(rolemap);
        System.out.println(json2);

json返回數據主要是應用與客戶端有多種體現,比如客戶端同時出現安卓、ios、html等情況,
還有很多網站服務器控制層和模型曾用java實現,視圖層用php或者asp實現,可以減少服務器的壓力,這些都可以是json發揮最大作用

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