json定義及jquery操作json的方法
一、背景
json是一種輕量級數(shù)據(jù)交換格式,非常利于Java服務與js的交互,本文將介紹json的簡單定義和js如何解析json。
二、內容
1、json定義:
簡單的json格式為[{"key1":"value1"},{"key2":"value2"}],
[]代表數(shù)組,{}代表數(shù)組中的數(shù)據(jù)對象,key1,key2是一個json對象中的key,一個json中key值唯一,value1,value2,是key鍵對應的值。
定義方式:
1)直接拼寫json串,例:String變量,內容為[{"attchName":"附件0","attchId":0},{"attchName":"附件1","attchId":1},{"attchName":"附件2","attchId":2}]。
2)引入json-lib.jar開源jar包,定義JSONObject對象,例:
JSONArray jsonArray = newJSONArray();JSONObject attchJson = newJSONObject();attchJson.put("attchId","0"); attchJson.put("attchName", "附件0");jsonArray.put(attchJson);jsonArray即為一個json數(shù)據(jù),等價于用[]的定義一個json.
復雜json定義,json中key對應的值也可以是一個json數(shù)組,如,json中封裝一個任務信息,這個任務中有若干附件定義方法如下:
JSONArray taskJsonArray = newJSONArray();JSONObject taskJsonObj = newJSONObject();taskJsonObj.put("taskId",100); taskJsonObj.put("taskName", "myTask");taskJsonObj.put("attchs",jsonArray);taskJsonArray.put(jsonObj);
taskJsonArray為最后想要得到的json內容,
簡單拼串后的形式如下:
[{"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); }); });
三、總結
json格式簡單,便于解析和生成,而且是一個輕量級數(shù)據(jù)交換格式,便于在web開發(fā)中使用。
以上就是小編為大家?guī)淼膉son定義及jquery操作json的方法全部內容了,希望大家多多支持腳本之家~
相關文章
使用jquery為table動態(tài)添加行的實現(xiàn)代碼
最近,有需要做一個動態(tài)的給table,添加行,用了點時間,算是做成了。已測試過,但如果發(fā)現(xiàn)有什么bug,可以留言,歡迎拍磚。大家一起進步。2011-03-03jquery實現(xiàn)漂浮在網(wǎng)頁右側的qq在線客服插件示例
很實用的一款QQ在線客服代碼,點擊QQ圖標,可直接與客服對話,詳細如下,感興趣的朋友可以參考下哈,希望對你有所幫助2013-05-05js原生態(tài)函數(shù)中使用jQuery中的 $(this)無效的解決方法
今天遇到一個聽郁悶的問題,正如title所說 js中原生態(tài)函數(shù)在jQuery 中使用 $(this) 被解析成undefined2011-05-05