C# 開發,將List<Object> 中的陣列序列化轉換為JSON,以便儲存或傳送。

一般我們在開發C#應用程式的時候時常會使用自定義的List 陣列來放置我們的資料,或許有時我們會想要將List<>內的物件存起來以供下次程式開啟時使用,但是在Win store app 或Windows Phone app 開發時提供的Local Folder 和 Roaming Folder存放資料時並不能放入List<>的陣列只能放入簡單的String int double bool 之類的變數,所以我們可以嘗試將List<>轉換為JSON的文字,以便存放在這些空間裡或是傳送到其他地方。

本篇文章將引導您 將List 中的陣列序列化轉換為JSON

一般我們在開發C#應用程式的時候時常會使用自定義的List<Object> 陣列來放置我們的資料,或許有時我們會想要將List<>內的物件存起來以供下次程式開啟時使用,但是在Win store app 或Windows Phone app 開發時提供的Local Folder 和 Roaming Folder存放資料時並不能放入List<>的陣列只能放入簡單的String int double bool 之類的變數,所以我們可以嘗試將List<>轉換為JSON的文字,以便存放在這些空間裡或是傳送到其他地方。

 

本篇文章將引導您 將List<Object> 中的陣列序列化轉換為JSON

 

在這之前要有事前準備在[專案]→[管理NeGet套件]中下載Json.NET的套件。

 

 

我們要自定義一個類別,就以學生的姓名和身高為例。

 

   1:  public class student_Item {
   2:      public string name { set; get; }//姓名
   3:      public int  tall { set; get; }//身高
   4:  }

 

再來主程式內建立假資料

 

   1:  //建立假資料
   2:  List<student_Item> student_Items = new List<student_Item>();
   3:  student_Items.Add(new student_Item() { name = "小美", tall = 166 });
   4:  student_Items.Add(new student_Item() { name = "小強", tall = 185 });
   5:  student_Items.Add(new student_Item() { name = "小明", tall = 148 });
   6:  student_Items.Add(new student_Item() { name = "小琪", tall = 186 });
   7:  student_Items.Add(new student_Item() { name = "小程", tall = 174 });
   8:  student_Items.Add(new student_Item() { name = "小楊", tall = 165 });

 

建完假資料後最重要的一行程式碼補上,該行程式碼便是將List序列化成JSON格式的字串

 

   1:  string json_data = JsonConvert.SerializeObject(student_Items);//存放序列後的文字

 

整個程式碼看起來就會像這樣子

 

   1:  List<student_Item> student_Items = new List<student_Item>();
   2:  student_Items.Add(new student_Item() { name = "小美", tall = 166 });
   3:  student_Items.Add(new student_Item() { name = "小強", tall = 185 });
   4:  student_Items.Add(new student_Item() { name = "小明", tall = 148 });
   5:  student_Items.Add(new student_Item() { name = "小琪", tall = 186 });
   6:  student_Items.Add(new student_Item() { name = "小程", tall = 174 });
   7:  student_Items.Add(new student_Item() { name = "小楊", tall = 165 });
   8:   
   9:  string json_data = JsonConvert.SerializeObject(student_Items);//存放序列後的文字

 

json_data裡面的資料就會長得像這樣了,是經過序列化後的JSON格式資料!!
 

[ { "name" : "小美",
    "tall" : 166
  },
  { "name" : "小強",
    "tall" : 185
  },
  { "name" : "小明",
    "tall" : 148
  },
  { "name" : "小琪",
    "tall" : 186
  },
  { "name" : "小程",
    "tall" : 174
  },
  { "name" : "小楊",
    "tall" : 165
  }
]

 

如此一來我們便學會了如何將List<>轉換為JSON格式的資料囉!

 

文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
轉載請註明出處,並且附上本篇文章網址 !  感謝。

SUKI

HOLIESTAR