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

JQuery處理json與ajax傳回JSON實例碼_jquery

May 16, 2016 pm 05:05 PM
jquery json

一、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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1267
29
C# 教程
1239
24
PHP 數組轉 JSON 的效能最佳化技巧 PHP 數組轉 JSON 的效能最佳化技巧 May 04, 2024 pm 06:15 PM

PHP數組轉JSON的效能最佳化方法包括:使用JSON擴充和json_encode()函數;新增JSON_UNESCAPED_UNICODE選項以避免字元轉義;使用緩衝區提高循環編碼效能;快取JSON編碼結果;考慮使用第三方JSON編碼庫。

Jackson庫中註解如何控制JSON序列化和反序列化? Jackson庫中註解如何控制JSON序列化和反序列化? May 06, 2024 pm 10:09 PM

Jackson庫中的註解可控制JSON序列化和反序列化:序列化:@JsonIgnore:忽略屬性@JsonProperty:指定名稱@JsonGetter:使用獲取方法@JsonSetter:使用設定方法反序列化:@JsonIgnoreProperties:忽略屬性@ JsonProperty:指定名稱@JsonCreator:使用建構子@JsonDeserialize:自訂邏輯

深入了解PHP:JSON Unicode轉中文的實作方法 深入了解PHP:JSON Unicode轉中文的實作方法 Mar 05, 2024 pm 02:48 PM

深入了解PHP:JSONUnicode轉中文的實作方法在開發中,我們經常會遇到需要處理JSON資料的情況,而JSON中的Unicode編碼在一些場景下會為我們帶來一些問題,特別是當需要將Unicode編碼轉換為中文字元時。在PHP中,有一些方法可以幫助我們實現這個轉換過程,以下將介紹常用的方法,並提供具體的程式碼範例。首先,讓我們先來了解一下JSON中Un

如何使用 PHP 函數處理 JSON 資料? 如何使用 PHP 函數處理 JSON 資料? May 04, 2024 pm 03:21 PM

PHP提供了以下函數來處理JSON資料:解析JSON資料:使用json_decode()將JSON字串轉換為PHP數組。建立JSON資料:使用json_encode()將PHP陣列或物件轉換為JSON字串。取得JSON資料的特定值:使用PHP數組函數存取特定值,例如鍵值對或陣列元素。

PHP 數組轉 JSON 的快捷技巧 PHP 數組轉 JSON 的快捷技巧 May 03, 2024 pm 06:33 PM

PHP陣列可透過json_encode()函數轉換為JSON字串(例如:$json=json_encode($array);),反之亦可用json_decode()函數從JSON轉換為陣列($array=json_decode($json);) 。其他技巧還包括:避免深度轉換、指定自訂選項以及使用第三方程式庫。

如何判斷jQuery元素是否具有特定屬性? 如何判斷jQuery元素是否具有特定屬性? Feb 29, 2024 am 09:03 AM

如何判斷jQuery元素是否具有特定屬性?在使用jQuery操作DOM元素時,常會遇到需要判斷元素是否具有某個特定屬性的情況。在這種情況下,我們可以藉助jQuery提供的方法來輕鬆實現這項功能。以下將介紹兩種常用的方法來判斷一個jQuery元素是否具有特定屬性,並附上具體的程式碼範例。方法一:使用attr()方法和typeof運算子//判斷元素是否具有特定屬

如何在 Golang 中將 JSON 資料保存到資料庫中? 如何在 Golang 中將 JSON 資料保存到資料庫中? Jun 06, 2024 am 11:24 AM

可以透過使用gjson函式庫或json.Unmarshal函數將JSON資料儲存到MySQL資料庫中。 gjson函式庫提供了方便的方法來解析JSON字段,而json.Unmarshal函數需要一個目標類型指標來解組JSON資料。這兩種方法都需要準備SQL語句和執行插入操作來將資料持久化到資料庫中。

使用jQuery為表格新增一行的方法介紹 使用jQuery為表格新增一行的方法介紹 Feb 29, 2024 am 08:12 AM

jQuery是一個受歡迎的JavaScript函式庫,廣泛用於網頁開發。在網頁開發過程中,經常需要透過JavaScript動態地在表格中新增一行。本文將介紹如何使用jQuery為表格新增一行,並提供具體的程式碼範例。首先,我們需要在HTML頁面中引入jQuery函式庫。可以透過以下程式碼在標籤中引入jQuery庫:

See all articles