在正式使用JSon之前,首先讓我們簡要回憶一下XML。XML是“可擴展的標記語言”的簡稱,它提供了定義Web中一系列數據傳輸協議的方式,是文本型的,被人們譽為“完全開發Internet和Web潛力的理想方式”。
得到的數據就會出錯,如果使用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,做一下自己的解析。希望能夠對大家有幫助。