Yamldotnet прочитать общий файл C#C#

Место общения программистов C#
Ответить
Anonymous
 Yamldotnet прочитать общий файл C#

Сообщение Anonymous »

поэтому я пытаюсь прочитать файлы yaml и сохранить их в формате json в базе данных, чтобы можно было выполнить массовый запрос к ним. Проблема в том, что я не могу создать общую функцию, которая читает файлы yaml. Я начал с:

Код: Выделить всё

    public static string ToJson(string yaml)
{
var deserializer = new DeserializerBuilder().Build();
var yamlObject = deserializer.Deserialize(yaml);
return Json.Serialize(yamlObject);
}
но получаю такие сообщения, как «неразрешенный тег !master». Теперь - это целый пакет yaml-файлов разных типов из разных источников - они могут использовать что угодно...
Я попробовал это:

Код: Выделить всё

    public static string ToJson(string yaml)
{
var deserializer = new DeserializerBuilder().IgnoreUnmatchedProperties()
.WithNodeDeserializer(inner => new IgnoreUnknownTagsDeserializer(inner),
s => s.InsteadOf()).Build();
var yamlObject = deserializer.Deserialize(yaml);
return Json.Serialize(yamlObject);
}
с моей собственной функцией для поиска имени тега, начинающегося с ! - но моя функция не вызывается.
Поэтому в настоящее время я пишу свою собственную библиотеку десериализации из библиотеки синтаксического анализа базового уровня - но кажется, что я делаю что-то не так. Конечно, можно написать общую функцию, которая принимает любой yaml и превращает его в json?? Я знаю, что люди могут создавать собственные теги и делать разные вещи, но маловероятно, что я все равно буду их запрашивать — я просто хочу делать с ними что угодно, чтобы иметь возможность получить сериализацию остальной части yaml?

Подробнее здесь: https://stackoverflow.com/questions/784 ... le-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»