1. 程式人生 > >json物件與json字串互轉,ajax各常見函式

json物件與json字串互轉,ajax各常見函式

1、使用jquer外掛支援的轉換方式:

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字串轉換成json物件 

2、瀏覽器支援的轉換方式:
JSON.parse(jsonstr); //可以將json字串轉換成json物件 
JSON.stringify(jsonobj); //可以將json物件轉換成json對符串 
注:ie8(相容模式),ie7和ie6沒有JSON物件,推薦採用JSON官方的方式,引入json.js。

3、javascript支援的轉換方式:

eval('(' + jsonstr + ')'); //可以將json字串轉換成json物件,注意需要在json字元外包裹一對小括號 
注:ie8(相容模式),ie7和ie6也可以使用eval()將字串轉為JSON物件,但不推薦這些方式,這種方式不安全eval會執行json串中的表示式。

4、json官方轉換方式:

http://www.json.org/提供了一個json.js,這樣ie8(相容模式),ie7和ie6就可以支援JSON物件以及其stringify()和parse()方法; 

以上4種情況都可以實現json物件與json字串互轉。

另外說下jquery的ajax函式:$.get(),$.post(),$.ajax(),$.getJSON()

$.get("data.php",$("#firstName.val()"),function(data){
$("#getResponse").html(data); }//返回的data是字串型別
);

$.post("data.php",$("#firstName.val()"),function(data){
$("#postResponse").html(data.name);
},"json"//設定了獲取資料的型別,所以得到的資料格式為json型別的
);
說明:這個函式跟$.get()引數差不多,多了一個type引數,type為請求 的資料型別,可以是html,xml,json等型別,如果我們設定這個引數為:json,那麼返回的格式則是json格式的,如果沒有設定,就 和$.get()返回的格式一樣,都是字串的
$.ajax({
url: "ajax/ajax_selectPicType.aspx",
data:{Full:"fu"},
type: "POST",
dataType:'json',
success:CallBack,
error:function(er){
BackErr(er);}
});
說明:$.ajax()這個函式功能強大,可以對ajax進行許多精確的控制,需要詳細說明的請參照相關資料
$.getJSON("data.php",$("#firstName.val()"),function(jsonData){
$("#getJSONResponse").html(jsonData.id);}//無需設定,直接獲取的資料型別為json,
所以呼叫時需要使用jsonData.id方式
);