您的位置:首页 > Web前端 > JQuery

json定义及jquery操作json

2013-03-28 15:40 344 查看
原地址:http://blog.sina.com.cn/s/blog_7cc509c00100s93n.html

json是一种轻量级数据交换格式,非常利于java服务与js的交互,本文将介绍json的简单定义和js如何解析json。

[b]二、内容[/b]

1、json定义:

简单的json格式为[{"key1":"value1"},{"key2":"value2"}],

[]代表数组,{}代表数组中的数据对象,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 = new JSONArray();
JSONObject attchJson = new JSONObject(); attchJson.put("attchId", "0");

attchJson.put("attchName", "附件0"); jsonArray.put(attchJson); jsonArray即为一个json数据,等价于用[]的定义一个json.
复杂json定义,json中key对应的值也可以是一个json数组,如,json中封装一个任务信息,这个任务中有若干附件定义方法如下:

JSONArray taskJsonArray = new JSONArray();
JSONObject taskJsonObj = new JSONObject();
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){

return true;//同countinue,返回false同break

}

alert("attchId:"+item.attchId+",taskName:"+item.attchName);

}); });
三、总结

json格式简单,便于解析和生成,而且是一个轻量级数据交换格式,便于在web开发中使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: