JSON有哪些优点?
JSON非常简洁,它由一系列的“键/值”组成,而在XML中却存在大量冗余的标签。JSON比XML更轻量级。 与XML一样,JSON是平台独立的。几乎所有技术(平台、系统)均能识别JSON数据。 用JSON表示的数据可以更容易地转换成JavaScript对象(因为它两结构类似),所以对于JavaScript脚本来讲,处理JSON更轻松。实验三:将JSON字符串转换为JavaScript对象
第一步.跟之前一样,创建一个HTML页面。
第二步.按照以下方式定义两个JSON字符串
简单JSON串:
包含多个客户信息的JSON串:
第三步.使用JavaScript中的JSON.parse方法将JSON串转换成JavaScript对象
第四步.按照下面的方式访问JavaScript对象中的属性
第五步.保存HTML文件,使用浏览器打开查看
注:现实开发过程中,在不同的系统(平台)内,JSON串可能被转换成各种不同的数据类型,如ASP.NET、WCF、JAVA等。
庆幸的是,有些技术可以自动转换JSON串。比如当我们直接发送JavaScript对象时,它先被自动转换为JSON串,发给服务器,接着服务器端自动将该JSON串转换成服务器端的数据类型,反之亦然。
接下来的每个实验都是验证JSON在Microsoft各种技术中的应用。在JavaScript代码中,我们使用到了jQuery。
初始化准备:
我们定义一个C#类,叫客户类
ASP.NET Web Forms中的JSON
在ASP.NET Web Forms中,我们要使用到HTTP handlers(ashx文件).
实验四:Get Request - JavaScript请求JSON数据
第一步.创建Web应用
第二步.创建HTTP Handler
右键项目,点击“添加>新建项”,新建ashx文件,命名CustomerWebForm.ashx
第三步.在ashx文件中编写代码
在默认的ProcessRequest方法中添加以下代码:
创建一个Customer对象使用System.Web.Script.Serialization.JavaScriptSerialier将创建的Customer对象转换成JSON串
将Response.ContentType由默认的text/plain改为text/json
将JSON串写入Response的输出流
第四步.编写客户端(浏览器)请求JSON数据的代码
在项目中添加新项,新建一个aspx页面,aspx页面中添加jQuery引用在页面中添加一个按钮,给它绑定点击事件
在<HEAD>标签内部添加<Script>标签,并添加以下代码
第五步.执行测试
点击F5运行应用,点击页面中的Button按钮,查看输出
实验五:Post Request – JavaScript发送JSON数据
第一步.在实验四的项目基础上,再创建一个CustomerPost.ashx文件
第二步.在ProcessRequest方法中获得客户端发送来的JSON
第三步.编写客户端(浏览器)发送JSON的代码
在原来的aspx页面中添加另外一个Button在<Script>标签中添加以下JavaScript脚本
第四步.执行测试
按F5运行应用,点击新添加的Button按钮,查看输出
现在我们得出结论:
JavaScript与Web Forms之间怎样建立通讯; JavaScript与Web Forms之间怎样传递JSON数据。下面我们来试着在ASP.NET MVC中做同样的事情。
ASP.NET MVC中的JSON
实验六:Get Request – JavaScript请求JSON数据
第一步.创建一个MVC4的应用程序
第二步.创建Controller和Action方法
添加一个名为JsonTestController的控制器 添加一个名为Index的Action方法