阐述使用Json传输协议的方式

在正式使用Json之前,首先让我们简要回忆一下XML。XML是“可扩展的标记语言”的简称,它提供了定义Web中一系列数据传输协议的方式,是文本型的,被人们誉为“完全开发Internet和Web潜力的理想方式”。#t#

得到的数据就会出错,如果使用XML的话,又显得太麻烦,所以,很多时候使用Json是一种很不错的方式,比如,我们需要用Ajax获取一组用户信息,其中包括username,age,sex,address等等;那么组合成的Json字符串为:

 
 
  1. --jquery方式--  
  2. function getUserInfo(id) {  
  3.     if (isNaN(id)) { return;}  
  4.     $.ajax({  
  5.         type: "get",  
  6.         url: "AjaxCommonClass.aspx?m=getUserInfoById&id=" + id,  
  7.         dataType: "json",  
  8.         success: function(data) {  
  9.             $("#username").html(data.username);  
  10.              $("#age").html(data.age);  
  11.             $("#sex").html(data.sex);  
  12.             $("#address").html(data.address);  
  13.         }  
  14.     });  

那么如何在后台输出Json格式的字符串呢?最简单最原始的方式就是组合字符串:使用System.Text.StringBuilder sb = new System.Text.StringBuilder();sb.Append()方式.最后拼装: 第二种使用.net freamwork3.0 自带封装方法(将对象序列化成使用Json的字符串)

 
 
  1. public static string Serialize(object obj) {  
  2.        if (obj == null) return null;  
  3.        System.Runtime.Serialization.Json.DataContractJsonSerializer s = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());  
  4.        using (System.IO.MemoryStream ms = new System.IO.MemoryStream())  
  5.        {  
  6.            s.WriteObject(ms, obj);  
  7.            return System.Text.Encoding.UTF8.GetString(ms.ToArray());  
  8.        }  
  9.    } 

这样,我们使用Json直接Response.Write(Serialize(obj))方法即可;客户端接收到字符串后,会自动解析成JS对象,下面我就对升级前和升级后的Visual Studio,做一下自己的解析。希望能够对大家有帮助。

THE END