C# Ошибка Сериализации JObject к YamlDotNet

Я открыл билет здесь, но надеюсь, что кто-то может ответить довольно просто.

YamlDotNet не поддерживает ISerializable, но Json.Net поддерживает. Таким образом, в качестве обходного пути мы сначала пытаемся сериализовать наш объект в JObject, который учитывает наши параметры сериализации и сериализует только соответствующие свойства. Затем мы хотим отправить наш объект JOb в YamlSerializer, но мы получаем эту ошибку:

"Объект не соответствует типу цели"

1 ответ

В качестве обходного пути можно использовать предложение, описанное в следующем сообщении: Как преобразовать JSON в YAML с помощью YamlDotNet

т.е. конвертировать JSON в YAML, используя динамический объект Expando.

Пример:

var expConverter = new ExpandoObjectConverter();
var jsonString = JsonConvert.SerializeObject(anyObject);
var expandoObject = JsonConvert.DeserializeObject<ExpandoObject>(jsonString, expConverter);
var textInYamlFormat = serializer.Serialize(expandoObject);
Другие вопросы по тегам