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發揮最大作用