json定義及jquery操作json的方法
一、背景
json是一種輕量級(jí)數(shù)據(jù)交換格式,非常利于Java服務(wù)與js的交互,本文將介紹json的簡(jiǎn)單定義和js如何解析json。
二、內(nèi)容
1、json定義:
簡(jiǎn)單的json格式為[{"key1":"value1"},{"key2":"value2"}],
[]代表數(shù)組,{}代表數(shù)組中的數(shù)據(jù)對(duì)象,key1,key2是一個(gè)json對(duì)象中的key,一個(gè)json中key值唯一,value1,value2,是key鍵對(duì)應(yīng)的值。
定義方式:
1)直接拼寫json串,例:String變量,內(nèi)容為[{"attchName":"附件0","attchId":0},{"attchName":"附件1","attchId":1},{"attchName":"附件2","attchId":2}]。
2)引入json-lib.jar開(kāi)源jar包,定義JSONObject對(duì)象,例:
JSONArray jsonArray = newJSONArray();JSONObject attchJson = newJSONObject();attchJson.put("attchId","0");
attchJson.put("attchName", "附件0");jsonArray.put(attchJson);jsonArray即為一個(gè)json數(shù)據(jù),等價(jià)于用[]的定義一個(gè)json.
復(fù)雜json定義,json中key對(duì)應(yīng)的值也可以是一個(gè)json數(shù)組,如,json中封裝一個(gè)任務(wù)信息,這個(gè)任務(wù)中有若干附件定義方法如下:
JSONArray taskJsonArray = newJSONArray();JSONObject taskJsonObj = newJSONObject();taskJsonObj.put("taskId",100);
taskJsonObj.put("taskName", "myTask");taskJsonObj.put("attchs",jsonArray);taskJsonArray.put(jsonObj);
taskJsonArray為最后想要得到的json內(nèi)容,
簡(jiǎn)單拼串后的形式如下:
[{"attchs":[{"attchName":"附件0","attchId":0},{"attchName":"附件1","attchId":1},{"attchName":"附件2","attchId":2}],"taskId":100,"taskName":"myTask"}]
2、js解析json
json的一般解析方式:
var json = eval_r(jsonArray );
for(var i=0;i<json.length;i++){
alert("attchId:"+json[i].attchId+",attchName:"+json[i].attchName);
}
使用jQuery解析json:
$.getJSON("jsonTest",{showNumber:"3"},function(data){
$.each(data,function(idx,item){
//alert(idx);
if(idx<0){
returntrue;//同countinue,返回false同break
}
alert("attchId:"+item.attchId+",taskName:"+item.attchName);
}); });
三、總結(jié)
json格式簡(jiǎn)單,便于解析和生成,而且是一個(gè)輕量級(jí)數(shù)據(jù)交換格式,便于在web開(kāi)發(fā)中使用。
以上就是小編為大家?guī)?lái)的json定義及jquery操作json的方法全部?jī)?nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
JQuery創(chuàng)建DOM節(jié)點(diǎn)的方法
這篇文章主要介紹了JQuery創(chuàng)建DOM節(jié)點(diǎn)的方法,實(shí)例分析了jQuery創(chuàng)建元素結(jié)點(diǎn)、文本結(jié)點(diǎn)、屬性結(jié)點(diǎn)的相關(guān)技巧,需要的朋友可以參考下2015-06-06
使用jquery為table動(dòng)態(tài)添加行的實(shí)現(xiàn)代碼
最近,有需要做一個(gè)動(dòng)態(tài)的給table,添加行,用了點(diǎn)時(shí)間,算是做成了。已測(cè)試過(guò),但如果發(fā)現(xiàn)有什么bug,可以留言,歡迎拍磚。大家一起進(jìn)步。2011-03-03
鼠標(biāo)移到導(dǎo)航當(dāng)前位置的LI變色處于選中狀態(tài)
本文所要實(shí)現(xiàn)的效果廣泛應(yīng)用于當(dāng)前導(dǎo)航,主要表現(xiàn)為鼠標(biāo)移到導(dǎo)航上面當(dāng)前的LI變色,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08
關(guān)于兩個(gè)jQuery(js)特效沖突的bug的解決辦法
下面小編就為大家?guī)?lái)一篇關(guān)于兩個(gè)jQuery(js)特效沖突的bug的解決辦法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享 給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
基于jQuery實(shí)現(xiàn)美觀且實(shí)用的倒計(jì)時(shí)實(shí)例代碼
倒計(jì)時(shí)效果在我們的日常生活中經(jīng)常會(huì)用到,比如說(shuō)高考倒計(jì)時(shí)、元旦放假倒計(jì)時(shí)、春節(jié)放假倒計(jì)時(shí)等等,下面通過(guò)本篇文章給大家分享基于jQuery實(shí)現(xiàn)美觀且實(shí)用的倒計(jì)時(shí)實(shí)例代碼,對(duì)jquery倒計(jì)時(shí)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12
jquery實(shí)現(xiàn)漂浮在網(wǎng)頁(yè)右側(cè)的qq在線客服插件示例
很實(shí)用的一款QQ在線客服代碼,點(diǎn)擊QQ圖標(biāo),可直接與客服對(duì)話,詳細(xì)如下,感興趣的朋友可以參考下哈,希望對(duì)你有所幫助2013-05-05
使用jQuery操作HTML的table表格的實(shí)例解析
這篇文章主要介紹了使用jQuery操作HTML的table表格的實(shí)例解析,包括用jQuery獲取表格總行數(shù)的小技巧,需要的朋友可以參考下2016-03-03
js原生態(tài)函數(shù)中使用jQuery中的 $(this)無(wú)效的解決方法
今天遇到一個(gè)聽(tīng)郁悶的問(wèn)題,正如title所說(shuō) js中原生態(tài)函數(shù)在jQuery 中使用 $(this) 被解析成undefined2011-05-05
Jquery 快速構(gòu)建可拖曳的購(gòu)物車DragDrop
拖曳功能早已經(jīng)成為各個(gè)網(wǎng)站吸引用戶的一大亮點(diǎn),那有沒(méi)有想過(guò)如何把拖曳功能應(yīng)用到電子商務(wù)網(wǎng)站的購(gòu)物車功能模塊中呢?2009-11-11

