Импорт и экспорт в xml , json, yml [требует правки]

177
06 января 2018, 00:15

Необходимо экспортировать и импортировать в три формата (xml , json, yml). Как лучше это сделать? Помогите с примером и советом. Желательно не слишком мудрено, новичок в с#

Answer 1

Допустим, имеется класс:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

Нам нужно сериализовать его экземпляр:

var person = new Person { Name = "Foo", Age = 33 };

Для xml можно использовать XmlSerializer:

// Открываем пространство имён
using System.Xml.Serialization;
// Создаём сериализатор для нужного типа
var xmlSerializer = new XmlSerializer(typeof(Person));
// Выводим xml в поток/райтер (в данном случае, прямо в консоль)
xmlSerializer.Serialize(Console.Out, person);

Для json можно использовать библиотеку Json.NET.

using Newtonsoft.Json;
var json = JsonConvert.SerializeObject(person);
Console.WriteLine(json);

Думаю, комментарии не нужны.

Для сериализации в yaml используем библиотеку SharpYaml (её первую выдаёт поиск по nuget-пакетам).

using SharpYaml.Serialization;
var yamlSerializer = new Serializer();
var yaml = yamlSerializer.Serialize(person);
Console.WriteLine(yaml);

Десериализация происходит с точностью до наоборот. Полагаю, разобраться не составит труда.

READ ALSO
Как передать в параметр метода метод - Unity

Как передать в параметр метода метод - Unity

Есть Скрипт_1 - SoundManagercs, в нем содержится:

221
Не воспроизводится музыка - Unity

Не воспроизводится музыка - Unity

При запуске игры, через 20 секунд включается панель, и вызывается метод, в этом методе запускается музыкаПроблема: после запуска метода, музыка...

316
Интерфейс IDisposable

Интерфейс IDisposable

Появились некоторые вопросы касательно реализацию IDisposable по шаблону, который предлагает Микрософт, где еще задействован финализатор

170