fbpx
serializacja C#

Co to jest serializacja i deserializacja? Przykład w języku C#

Co to jest serializacja?

W prostych słowach Serializacja to proces w którym obiekt, czasami bardzo skomplikowany, w języku C# zamieniamy na tekst (zwykle w postaci JSON albo XML). Robimy to po to, żeby na przykład zapisać dany obiekt w bazie danych, lub przesłać go do innego systemu. Łatwiej jest przecież wysłać jeden napis, niż obiekt składający się z wielu pól a czasami również tablic.

Co to jest deserializacja?

Deserializacja jest procesem odwrotnym do serializacji. Wyobraź sobie, że ktoś Tobie przesłał z zewnętrznego systemu obiekt w postaci JSON. Czyli mamy jeden długi napis zawierający wszystkie informacje o obiekcie. A docelowo, żeby wykonać operacje w naszym systemie potrzebujemy obiektu. Używamy wtedy właśnie deserializacji.

Przykład deserializacji języku C#

using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;

namespace Serializacja
{
	class Program
	{
		static void Main(string[] args)
		{
			string test = "[{\"identyfikator\":\"1\",\"imie\":\"Dariusz\",\"nazwisko\":\"Kacban\"}]";var deserialized = JsonConvert.DeserializeObject<List<Person>>(test);

			Console.WriteLine(deserialized.First());
			
		}
	}

	public class Person
	{
		[JsonProperty("identyfikator")]
		public string Id { get; set; }

		[JsonProperty("imie")]
		public string Name { get; set; }

		[JsonProperty("nazwisko")]
		public string Surname { get; set; }

		public override string ToString()
		{
			return $"identyfikator: {Id}, imie: {Name}, nazwisko: {Surname}";
		}
	}
}

0 0 votes
Article Rating
Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x