標籤:
1. 序列化和還原序列化:
定義:
序列化:將對象以位元組流的形式儲存到磁碟中或者在網路上進行傳輸;
還原序列化:從位元組流中解析出對象,但需要有對象的執行個體;
用法:
序列化:Newtonsoft.Json.JsonConvert.SerializeObject(Readings)
轉換前:{ Systolic = {10}, Diastolic = {20}, Pulse = {30} }
轉換後:{"Systolic":"10","Diastolic":"20","Pulse":"30"}
還原序列化:Newtonsoft.Json.JsonConvert.DeserializeObject(Readings)
public class ReceiveBGEntity{ public int Systolic { get; set; } public int Diastolic { get; set; } public int Pulse { get; set; } public override string ToString() { return "Systolic:" + Systolic.ToString() + "; Date:" + Diastolic.ToString() + "; Pulse" + Pulse.ToString(); }}class Program{ static void Main(string[] args) { string JSON_BG = "{‘Systolic‘:‘1‘,‘Diastolic‘:‘5‘,‘Pulse‘:‘7‘}"; ReceiveBGEntity BG = Newtonsoft.Json.JsonConvert.DeserializeObject<ReceiveBGEntity>(JSON_BG); Console.WriteLine(BG.ToString()); Console.ReadLine(); }}View Code
對於對象序列化和還原序列化操作,經常操作的對象有實體物件,集合,DataTale及匿名對象,匿名對象解析方法DeserializeAnonymousType()的使用例子如下所示:
class Program{ static void Main(string[] args) { var AnonymousObj = new { ID = 0, Name = string.Empty, Words = string.Empty }; string Results = Newtonsoft.Json.JsonConvert.SerializeObject(AnonymousObj); AnonymousObj = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType("{\"ID\":\"20160427\",\"Name\":\"Tom\",\"Words\":\"Hello are you?\"}", AnonymousObj); Console.WriteLine(AnonymousObj.Name+"["+ AnonymousObj.ID + "],"+ AnonymousObj.Words); Console.ReadLine(); }}View Code
序列化和還原序列化