JSON的一些基础知识

json数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法。

一、JSON的一些基础知识。

JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value)。

 “[]”,标识数组,数组内部各个数据之间通过“,”分割,如[“AreaId”:”123”,”AreaId”:”345”]。

很多情况下是对象数组,那就是这样:

 代码如下复制代码

[{“AreaId”:”123”},{“AreaId”:”345”}]

 其实数组也是一个对象,上面的格式也可以写成这样:

 代码如下复制代码

{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}

这表示一个Area对象,他有两个子数据,每个子数据也是一个对象,每个子对象都是AreaId。

 JSON中字符串和字符的定义格式和一般的类C语言定义是类似的,双引号定义字符串,单引号定义字符。

JSON的键(Key)用双引号括起来,比如上面的“Area“和”AreaId“,都是用双引号括起来的,在一些语言中构造JSON字符串的时候,可以使用转义字符转义双引号。

 二、javascript操作JSON字符

1、先要区分JSON字符串和JSON对象

JSON字符串:

 代码如下复制代码

Var strJSON = “{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}”,

其实也可以写成这样:

 代码如下复制代码

Var strJSON = ‘{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}’,

这表示一个JSON字符串,由于在Js中单引号和双引号都可以表示一个字符串,所以上面第一个使用双引号和第二个使用单引号的都表示一个JSON字符串。

下面看看JSON对象

 代码如下复制代码

Var JSON = {“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]},

看到了吧,JSON对象最外面是没有单引号或者双引号的,这就表示一个JSON对象。


一、$.ajax的一般格式

$.ajax({

     type: 'POST',

     url: url ,

    data: data ,

    success: success ,

    dataType: dataType

});

 

二、$.ajax的参数描述

参数 描述

url 必需。规定把请求发送到哪个 URL。
data 可选。映射或字符串值。规定连同请求发送到服务器的数据。
success(data, textStatus, jqXHR) 可选。请求成功时执行的回调函数。
dataType

可选。规定预期的服务器响应的数据类型。

默认执行智能判断(xml、json、script 或 html)。

 

三、$.ajax需要注意的一些地方:

  1.data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;通过dataType指定,不指定智能判断。

  2.$.ajax只提交form以文本方式,如果异步提交包含<file>上传是传过不过去,需要使用jquery.form.js的$.ajaxSubmit

 

四、$.ajax我的实际应用例子

复制代码
 1 //1.$.ajax带json数据的异步请求
 2 var aj = $.ajax( {  
 3     url:'productManager_reverseUpdate',// 跳转到 action  
 4     data:{  
 5              selRollBack : selRollBack,  
 6              selOperatorsCode : selOperatorsCode,  
 7              PROVINCECODE : PROVINCECODE,  
 8              pass2 : pass2  
 9     },  
10     type:'post',  
11     cache:false,  
12     dataType:'json',  
13     success:function(data) {  
14         if(data.msg =="true" ){  
15             // view("修改成功!");  
16             alert("修改成功!");  
17             window.location.reload();  
18         }else{  
19             view(data.msg);  
20         }  
21      },  
22      error : function() {  
23           // view("异常!");  
24           alert("异常!");  
25      }  
26 });
27 
28 
29 //2.$.ajax序列化表格内容为字符串的异步请求
30 function noTips(){  
31     var formParam = $("#form1").serialize();//序列化表格内容为字符串  
32     $.ajax({  
33         type:'post',      
34         url:'Notice_noTipsNotice',  
35         data:formParam,  
36         cache:false,  
37         dataType:'json',  
38         success:function(data){  
39         }  
40     });  
41 }  
42 
43 
44 //3.$.ajax拼接url的异步请求
45 var yz=$.ajax({  
46      type:'post',  
47      url:'validatePwd2_checkPwd2?password2='+password2,  
48      data:{},  
49      cache:false,  
50      dataType:'json',  
51      success:function(data){  
52           if( data.msg =="false" ) //服务器返回false,就将validatePassword2的值改为pwd2Error,这是异步,需要考虑返回时间  
53           {  
54                textPassword2.html("<font color='red'>业务密码不正确!</font>");  
55                $("#validatePassword2").val("pwd2Error");  
56                checkPassword2 = false;  
57                return;  
58            }  
59       },  
60       error:function(){}  
61 }); 
62 
63 
64 //4.$.ajax拼接data的异步请求
65 $.ajax({   
66     url:'<%=request.getContextPath()%>/kc/kc_checkMerNameUnique.action',   
67     type:'post',   
68     data:'merName='+values,   
69     async : false, //默认为true 异步   
70     error:function(){   
71        alert('error');   
72     },   
73     success:function(data){   
74        $("#"+divs).html(data);   
75     }
76 });



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值