在正式使用Json之前,首先让我们简要回忆一下XML。XML是“可扩展的标记语言”的简称,它提供了定义Web中一系列数据传输协议的方式,是文本型的,被人们誉为“完全开发Internet和Web潜力的理想方式”。#t#
得到的数据就会出错,如果使用XML的话,又显得太麻烦,所以,很多时候使用Json是一种很不错的方式,比如,我们需要用Ajax获取一组用户信息,其中包括username,age,sex,address等等;那么组合成的Json字符串为:
- --jquery方式--
- function getUserInfo(id) {
- if (isNaN(id)) { return;}
- $.ajax({
- type: "get",
- url: "AjaxCommonClass.aspx?m=getUserInfoById&id=" + id,
- dataType: "json",
- success: function(data) {
- $("#username").html(data.username);
- $("#age").html(data.age);
- $("#sex").html(data.sex);
- $("#address").html(data.address);
- }
- });
- }
那么如何在后台输出Json格式的字符串呢?最简单最原始的方式就是组合字符串:使用System.Text.StringBuilder sb = new System.Text.StringBuilder();sb.Append()方式.最后拼装: 第二种使用.net freamwork3.0 自带封装方法(将对象序列化成使用Json的字符串)
- public static string Serialize(object obj) {
- if (obj == null) return null;
- System.Runtime.Serialization.Json.DataContractJsonSerializer s = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());
- using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
- {
- s.WriteObject(ms, obj);
- return System.Text.Encoding.UTF8.GetString(ms.ToArray());
- }
- }
这样,我们使用Json直接Response.Write(Serialize(obj))方法即可;客户端接收到字符串后,会自动解析成JS对象,下面我就对升级前和升级后的Visual Studio,做一下自己的解析。希望能够对大家有帮助。