Тема: Як серіалізувати struct у .net core ?
як це робити без JavaScriptSerializer ???
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C#, .NET → Як серіалізувати struct у .net core ?
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
як це робити без JavaScriptSerializer ???
Документацію читали?
Можна користати System.Text.Json.Serialization.
Крім стандартних засобів є спеціальні пакети.
Наприклад newtonsoft
https://www.newtonsoft.com/json/help/ht … onvert.htm
Встановлюються через nuget
Можна користати System.Text.Json.Serialization.
якщьо не обмазати get;set то не буде працювати зі структурами. Потрібно починати з цього.
якщьо не обмазати get;set то не буде працювати зі структурами. Потрібно починати з цього.
Якщо хочете готове рішення, то обмазуйте властивостями. Якщо не хочете обмазувати, то пишіть власні методи серіалізації, десеріалізації.
cheappi386 написав:якщьо не обмазати get;set то не буде працювати зі структурами. Потрібно починати з цього.
Якщо не хочете обмазувати, то пишіть власні методи серіалізації, десеріалізації.
А можна з цього моменту з подробицями?
Вже замучився з тими серіалізаторами....то приват не серіалізує ... то вимахуються постійно.
Знайшов один більш менш норм. варіант через DataContractSerializer і Iserializable інтерфейс ітой нормально працює тільки в xml...
Щоб серіалізувати структуру (struct) у .NET Core, ви можете використовувати DataContractSerializer або JsonSerializer. Вам не потрібно використовувати JavaScriptSerializer. Якщо ви не хочете створювати властивості з get і set, ви можете використовувати атрибут [DataMember] для полів структури.
Ось приклад серіалізації структури з використанням DataContractSerializer:
using System; using System.IO; using System.Runtime.Serialization; using System.Xml; [DataContract] public struct MyStruct { [DataMember] public int Id; [DataMember] public string Name; } class Program { static void Main(string[] args) { MyStruct myStruct = new MyStruct { Id = 1, Name = "Тест" }; DataContractSerializer serializer = new DataContractSerializer(typeof(MyStruct)); using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, myStruct); ms.Position = 0; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(ms); Console.WriteLine(xmlDoc.OuterXml); } } }
А ось приклад серіалізації структури з використанням JsonSerializer:
using System; using System.Text.Json; public struct MyStruct { public int Id { get; set; } public string Name { get; set; } } class Program { static void Main(string[] args) { MyStruct myStruct = new MyStruct { Id = 1, Name = "Тест" }; string jsonString = JsonSerializer.Serialize(myStruct); Console.WriteLine(jsonString); } }
Якщо ви хочете серіалізувати приватні поля, ви можете написати власні методи серіалізації та десеріалізації.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися