您的位置:首页 > Web前端 > JQuery

JSON 体验JSON (一) jquery/AJAX 筒单例子

2010-02-05 10:20 381 查看
前记:以前就做过JSON 的例子很久没用给忘了,今天同事要用jquery/AJAX 来做报表让我帮忙还真有点麻烦。所以开头一章筒单调用

介绍

对象与json(JavaScript Object Notation)

JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
数组是 值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔值(value)可以是双引号括 起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

对象用{}
数组用[]
var Users=[
{"userID":"1","Name":"Froog","friends":["Jack","Zack","Justin"]},
{"userID":"2","Name":"Zack","friends":["Jack","Zack","Justin"]},
{"userID":"3","Name":"Justin","friends":["Jack","Zack","Justin"]}
];

转换JSON字符到Object
var JsonString = '{"userID":"2","Name":"Froog","friends":["Jack","Zack","Justin"]}';
var User2 = eval('(' + JsonString + ')');
alert(User2.Name);
alert(User2.friends[0]);

//引用 json.js 实现JSON字符与Object相互转换。
var obj = JsonString.parseJSON();
alert(obj.toJSONString());

。net jquery/AJAX调用时场景

//AJAX 中使用JSON

1、先建立一个webScript服务

2、在web服务类前面标记 [System.Web.Script.Services.ScriptService]

3、webScript服务方法返回一个符合JSON格式的字符串

4、执行jquery 的文事件$(document).ready ,

5、通过$()选择器绑定对像

6、在对象事件里面发送ajax请求 $.ajax();

7、ajax data:传入到服务器的参数,键值如: data:"{TM:'ok'}",

8、 把服务器JSON转成js的obj对象 var obj=eval(data.d);

9、这样JSON就成为JS 的object对象了

webScript服务方法

[WebMethod]
public string HelloWorld()
{
return "{name:'hello word!'}";
}
function getResult()
{

$(document).ready(function(){
$.ajax({
type: "POST",
url: "?Json=true",
data:"{TM:'ok'}", //无参也必须指定一个参数
success: function(msg){
var obj=eval(data.d);
alert( obj.Name);
}
});

});

从服务器来的是json数组
如[{id:1,name:"小子"},{id:2,name:"大子"}]
在客户端需要eval("("+json数组对象+")"); 这样用javascript运行一次

从服务来的是json数据转成javascript的json
1.var data=eval(data); eval()函数没有任何作用,就是运行起javascript的代码

2.jquery中$.get("url",null,function(data),"json") 写上"json"这个参数那么返回的数据将作为json处理

vs2005

如:单个json对象 var data=eval(data.d);
如:数组json对象 var data=eval("("+data.d+")") ;

注vs2008一定要加.d才能正常将jquery的json转成javascript的json对象
如:单个json对象 var data=eval(data.d);
如:数组json对象 var data=eval("("+data.d+")") ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: