Java知識整理(二十三)之json

JSON:輕量級的數據交換格式,相對於XML,JSON解析速度更快,文檔更小
結構:
1.名值對:{"name":"Sally","city":"北京","age":25}
屬性值可以是string,number,boolean(true,false),null,object.屬性名必須使用雙引號,屬性值如果是字符串要用雙引號
2.值的有序列表(數組,集合):[value,value,value...] (可以互相套用)
使用JSON實現數據交換:java對象-->JSON字符串(web服務器)-->JSON字符串(客戶端)-->JavaScript對象
JSON對象-->JavaScript對象:
1.var str = '{"name":"張三","age",18}'; var obj = eval("("+str+")");
2.使用原生對象JSON提供的parse()方法:var obj = JSON.parse(str);
3.var obj = str.parseJSON();(需要用到JSON.js文件)
JS中JSON對象(obj)-->String字符串:var str = obj.toJSONString();(需json.js); var str = JSON.stringify(obj);


java對象-->JSON對象(通過拼接JSON字符串重構對象屬性)
JSONObject obj = JSONObject.fromObject(emp); String jsonStr = obj.toString(); java對象-->JSON對象
JSONArray jsonArr = JSONObject.formObject(arr); String jsonStr = jsonArr.toString(); java數組(集合)-->JSON對象
JSON對象-->Java對象
Emp emp = (Emp)JSONObject.toBean(obj,Emp.class); List<Emp> list = (List<Emp>)JSONArray.toCollection(jsonArr,Emp.class);
緩存問題:IE瀏覽器在發送GET請求時,如果訪問過該地址不再發送請求(Chrome,Firefox繼續發請求);解決(請求後加隨機數):xxx.do?Math.random();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章