前后端數(shù)據(jù)交換工具json——拙見

分析:

前后端對于json的使用方式不一樣;json語法格式不做介紹;

前端:

json的引入方式:<script? src=“js/json2.js”><script>;

//刪除方法:delete(key);

操作:

json格式的字符串與json對象的字符串相互轉(zhuǎn)化;

json對象轉(zhuǎn)化為字符串:

formJson{"name":“毛寒”,“ID”:“l(fā)ovewen”};

var Data = JSON.stringify(fromJson);

document.write(Data) == "{"name":“毛寒”,“ID”:“l(fā)ovewen”}";

用ajax傳入java服務(wù)器:

$.ajax({? url :"servlet/Login",

type:"post",

data:"{“mydata”:Data,.......}"

});

java服務(wù)器傳來的json格式字符串,success接收后需要轉(zhuǎn)換為json對象;

var? jsonOBJ = JSON.parse(jsonString);

java服務(wù)器端json技術(shù):

(java環(huán)境下和js環(huán)境下json對象數(shù)據(jù)類型有區(qū)別;因為java和js數(shù)據(jù)類型不同;)

第一步:載入依賴包(v:版本號)

{commons-beanutils-v.jar # commons-collections-v.jar #? commons-lang-v.jar #? commons-logging-v.jar #?ezmorph-v.jar #? json-lib-v.jar ?}? ;

JSONObject類核心功能:

(JSONObject是一個final類繼承了頂級父類object實現(xiàn)了json接口);

JSONObject構(gòu)造方法:

JSONObject ();? ? ?//創(chuàng)建一個空的JSONObject對象;也有帶參構(gòu)造方法;

常用API:(分兩類):

一:json對象與其他類型相互轉(zhuǎn)換:

//測試jsonobj兩類API和jsonAArray;

public void Jsondemo(){

//從其他數(shù)據(jù)obj:(map、Bean、String)構(gòu)建一個json對象;Bean:嚴格規(guī)范的實體類;

? ? //方法一(obj類型轉(zhuǎn)換成jsonobj類型):static JSONObject fromobject(Object obj);

? ? //方法二(反轉(zhuǎn)):static Object JSONObject.toBean(Object object,Class class);

? ? //1.從map構(gòu)建json且反轉(zhuǎn)實例;

? ? Map map =new HashMap();

? ? map.put("name","毛寒");

? ? JSONObject jsonObject = JSONObject.fromObject(map);

? ? System.out.println(jsonObject);

? ? //反轉(zhuǎn):

? ? map = (Map)JSONObject.toBean(jsonObject,Map.class);

? ? System.out.println(map);

? ? //Bean、String:與Map原理一樣,代入即可;

二:對json對象內(nèi)部數(shù)據(jù)執(zhí)行的CRUD和遍歷等操作:

//增加和修改:obj.put(key:value);

//刪除與清空:obj.remove(key); obj.clear();

//遍歷操作:

JSONObject object =new JSONObject();

object.put("name1","毛寒");

object.put("name2","毛寒子");

object.put("name3","雯兒");

object.put("name4","雯雯");

object.put("name5","可可");

String name = object.getString("name3");

System.out.println(name);

//遍歷(迭代器方法進行遍歷);

Iterator keys = object.keys();

Object obj;

while (keys.hasNext()){

obj = jsonObject.get(keys.next());

? ? System.out.println(obj);

}


JSONArray類:

相當(dāng)于js中的json對象那個數(shù)組;java服務(wù)端JSONArray對象可封裝從數(shù)據(jù)庫獲取的對象集合(結(jié)果集)并與前端js環(huán)境下的json對象數(shù)組相對應(yīng);(操作方法基本和javaArray相同);

構(gòu)造器:JSONArray obj = new?JSONArray();

對象轉(zhuǎn)化:JSONArray.formObject(object);? ? object:一般是集合對象;List、Array以及符合要求的把實體對象數(shù)組轉(zhuǎn)化為JSONArray對象;

增加、修改、刪除:add(JSONObject)//必須是JSONObject對象;remove(int? index);toArray()[index];

前后端分離:

前端頁面中的關(guān)鍵變量名最好與實體類中成員變量名保持一致;方便json對象與實體類對象之間的轉(zhuǎn)換;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容