搜尋
首頁web前端js教程JQuery處理json與ajax傳回JSON實例碼_jquery

一、JSON的一些基礎知識。

JSON中物件透過"{}"來標識,一個"{}"代表一個對象,如{"AreaId":"123"},物件的值是鍵值對的形式(key:value)。

 "[]",標識數組,數組內部各個資料之間通過","分割,如["AreaId":"123","AreaId":"345"]。

很多情況下是物件數組,那就是這樣:

複製程式碼 程式碼如下:

[{"AreaId":"123"},{ "AreaId":"345"}]

 其實數組也是一個對象,上面的格式也可以寫成這樣:

複製程式碼 程式碼如下:

{"Area":[{"AreaId":[{"AreaId":[{"AreaId":[{"AreaId":[{"AreaId":[{"AreaId":[{"AreaId":[{"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":[{"A AreaId":"123"},{"AreaId":"345"}]}',

這表示一個JSON字串,由於在Js中單引號和雙引號都可以表示一個字串,所以上面第一個使用雙引號和第二個使用單引號的都表示一個JSON字串。

下面看看JSON物件

複製程式碼 程式碼如下:

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

看到了吧,JSON物件最外面是沒有單引號或雙引號的,這就表示一個JSON物件。


在伺服器中斷的腳本:

複製程式碼 程式碼如下:

$data['id'id' ] = 1;
$dat['name'] = "mary";
$da['red']= array_merge($data,$dat);
$data1['id'] = 2;
$dat1['name'] = "燕子";
$da['blue']= array_merge($data1,$dat1);
print_r($da);///打印出來是一個二維數組(如下)

/*
Array
(
    [red] => Array
        (
           (
       [name] => mary
        )
    [blue] => Array
        (
            [id] => 2)
*/

echo json_encode($da);//輸出的是一個轉換成json格式的字串,可以直接在js中使用(如下)

/*

{"red":{"id" :1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}}
*/
?>


jquery腳本:

回到js後的處理:

第一種要用到varl轉換的:是字串的時候就要用eval轉換成jquery物件(如下)


複製程式碼 程式碼如下:

var arr = '{"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"} }';//u71d5u5b50這個是php中自動轉換的
var dataObj = eval("(" arr ")");//這裡要加上加好括號和雙引號的原因我也不知道,就當是json語法,只能死記硬背了
  $.each(dataObj,function(idx,item){  
   //輸出 
   alert(item.id "哈哈" item.name); 🎜>})

第二種:不需要轉化的:

複製程式碼 代碼如下:
var arr = {"red":{"id" :1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}};
  $.each(arr,function(idx,item){    
   //輸出
   alert(item.id "哈哈" item.name);
})

循環也有兩種方法:

//方法一:

複製程式碼 程式碼如下:
$.each(arr,function(idx,item) {    
   //輸出
   alert(item.id "哈哈" item.name);
})

//方法二:

複製程式碼 程式碼如下:
for(var key in arr){
 (key);
  alert(arr[key].status);
 }

大家可以試試看效果。

ajax回傳JSON時的處理方式

 1,使用普通的aspx頁面來處理

       本人覺得這種方式處理起來是最簡單的了,看下面的代碼吧

複製程式碼 程式碼如下:
$ ",
                                        url: "Default.aspx",
                                        dataType: "json",
                                        success: function (data) {
                                                $("input#showTime").val(data[0] }.demoData);
                                                          error: function (XMLHttpRequest, textStat.                               alert(errorThrown);  }                }
                  

         這裡是後台傳遞資料的代碼
 

複製碼


程式碼如下:

                               Response.End();
 

這種處理的方式將傳遞過來的數據直接解析為json數據,也就是說這裡的前台js程式碼可能直接把這些數據解析成json對象數據,而並非字符串數據,如data[0]. demoData,這裡就直接使用了這個json物件資料
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
jquery实现多少秒后隐藏图片jquery实现多少秒后隐藏图片Apr 20, 2022 pm 05:33 PM

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

axios与jquery的区别是什么axios与jquery的区别是什么Apr 20, 2022 pm 06:18 PM

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

jquery怎么修改min-height样式jquery怎么修改min-height样式Apr 20, 2022 pm 12:19 PM

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

jquery怎么在body中增加元素jquery怎么在body中增加元素Apr 22, 2022 am 11:13 AM

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

jquery怎么删除div内所有子元素jquery怎么删除div内所有子元素Apr 21, 2022 pm 07:08 PM

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

jquery中apply()方法怎么用jquery中apply()方法怎么用Apr 24, 2022 pm 05:35 PM

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

jquery on()有几个参数jquery on()有几个参数Apr 21, 2022 am 11:29 AM

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

jquery怎么去掉只读属性jquery怎么去掉只读属性Apr 20, 2022 pm 07:55 PM

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境