序列化和還原序列化在瀏覽器和 Web 服務器之間傳遞的資料、加密解密

來源:互聯網
上載者:User

標籤:返回   技術分享   coding   字元   des   dict   return   http   pts   

js中數組不能傳遞到後台,需進行json序列化:

var data = new Array();

data.push({para1:name,para2:answer});

string data = JSON.stringify(data)

//解析參數
JavaScriptSerializer js = new JavaScriptSerializer();
List<Dictionary<string, string>> answerList = js.Deserialize<List<Dictionary<string, string>>>(data);

加密(js):  
var base64 = new Base64();data = base64.encode(JSON.stringify(data));
解密(控制器):
data = System.Text.ASCIIEncoding.Default.GetString(Convert.FromBase64String(data));
JSON.stringify()【從一個對象中解析出字串】
var data={name:‘goatling‘}
JSON.stringify(data)
結果是:‘{"name":"goatling"}‘
JSON.parse()【從一個字串中解析出json對象】
var data=‘{"name":"goatling"}‘
?JSON.parse(data)
結果是:?name:"goatling"
JavaScriptSerializer類
JavaScriptSerializer 類用於序列化和還原序列化在瀏覽器和 Web 服務器之間傳遞的資料。
說白了就是能夠直接將一個C#對象傳送到前台頁面成為javascript對象。
方法:
1.ConvertToType<(Of <(T>)>) 將給定對象轉換為指定類型。
2.Deserialize<(Of <(T>)>) 將指定的 JSON 字串轉換為 T 類型的對象。
3.DeserializeObject 將指定的 JSON 字串轉換為對象圖。
4.RegisterConverters 使用 JavaScriptSerializer 執行個體註冊自訂轉換器。
5.Serialize 已重載。 將對象轉換為 JSON 字串
案例:
1.JavaScriptSerializer jss = new JavaScriptSerializer();
2.Person p = new Person(1, "李雷", 20);
3.string json = js.Serialize(p); //序列化成JSON
4.Person p1 = jss.Deserialize<Person>(json); //再還原序列化為Person對象,注意此方法要求目標類有無參建構函式
5.return Json(json, "text/json"); //很好用,但是返回的終歸是字串,返回到前台要解析一下才能變成javascript對象。
6.return Json(new { Id = p1.Id, Name = p1.Name, Age = p1.Age }, "text/json");
//如果這樣寫,返回到javascript中是不用再解析的,直接就是javascript對象


 

 





 

序列化和還原序列化在瀏覽器和 Web 服務器之間傳遞的資料、加密解密

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.