json定义及jquery操作json的方法

网络编程 发布日期:2024/10/3 浏览次数:1

正在浏览:json定义及jquery操作json的方法

一、背景

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

二、内容

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 = newJSONArray();
JSONObject attchJson = newJSONObject();
attchJson.put("attchId","0");
attchJson.put("attchName", "附件0");
jsonArray.put(attchJson);

jsonArray即为一个json数据,等价于用[]的定义一个json.

复杂json定义,json中key对应的值也可以是一个json数组,如,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格式简单,便于解析和生成,而且是一个轻量级数据交换格式,便于在web开发中使用。

以上就是小编为大家带来的json定义及jquery操作json的方法的全部内容了,希望对大家有所帮助,多多支持~

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。