首頁 > web前端 > js教程 > 主體

Json序列化與反序列化方法解析_jquery

WBOY
發布: 2016-05-16 17:08:08
原創
1407 人瀏覽過

複製程式碼 程式碼如下:

 ///


 ///
  Json序列化,用於傳送至客戶端        ///

        public static string ToJsJson(this 

            DataContractJsonSerializer serializer = new DataContractJsonSerializer(item.GetType());


            using (MemoryStream ms = new MemoryStream())

            {

                serializer.WriteObject(ms, item);

                StringBuilder sb = new StringBuilder();

                sb.Append(Encoding.UTF8.GetString(ms.ToArray()));

                return sb.ToString();

            }

        }


        ///


        /// Json反序列化,用於接收客戶端Json後產生對應的物件
  sonTo(this string jsonString)
        {

            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));

            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));

            T jsonObject = (T)ser.ReadObject(ms);

            ms.Close();

            return jsonObject;

        }


實體類別
複製程式碼



複製程式碼



複製碼

    [DataContract]
    public class TestObj
    {
        [DataM5)        public string model { get; set ; }
        [DataMember]        public int year { get; set; }

    🎜>    }

------------------javascript取得Json-------------------- javascript呼叫測試程式碼
複製程式碼 程式碼如下:

$('#getJson').click(function() {
                dler.ashx",
                    模式: 'GET ',
                    資料:{},
                       逾時:1000,
                                  成功:函數(結果) {

                       警報(結果.make);
                                                 }

                });
            代碼


代碼如下:


public class getJsonHandler: IHttpHandler
    {

public void ProcessRequest(Http   Obj obj = new TestObj();

            obj.make = "製造為價值";
            obj. 🎜>            obj.color = "顏色為值";             context.Response.Write(obj.ToJsJson());               get            {            >        }}
//回傳值{"color":"Color is Value","make":"Make is Value","model":"Model is Value","year":999}


-----------------C#由Json生成物件------------------------- -----------

javascript呼叫測試程式碼




複製程式碼


程式碼如下:


           $('#postJson').click(function() {

                var m_obj = { make: "Dodge", model: "Coronet R/T", Year: 1968, color: "yellow h Str = JSON.stringify(m_obj); //用Json2 .js產生Json字串

                $.ajax({

                    url: "postJsonHandler.ashx",
                     類型: 'POST',
                   數據: { postjson: jsonStr },
                    dataType: 'json',
                            地) },
                    成功:函數(結果) {

                        警告(結果.成功);

     

                });
});


C# > 代碼如下:


public class postJsonHandler: IHttpHandler
    {                   }
            else
            Response.Write("{success:true }");
            }

public bool IsReusable
        {            get

       return false;

            }

        }

}

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板