Получить реальное логическое значение из YamlStream

Я использую YamlDotnet для анализа потока yaml в словарь строкового объекта через YamlStream. YamlMappingType, YamlSequenceNode и YamlScalarNode используются для преобразования значения в словарь, список или строку.

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

bool.TryParse(value.ToString(), out valueBool)

значение, относящееся к YamlNode.

Есть ли лучший способ сделать это? Возможно, еще один дочерний тип YamlNode?

РЕДАКТИРОВАТЬ: я не знаю содержимого файла YAML, я просто хочу получить словарь с его значениями.


person Jérémie Bertrand    schedule 07.01.2015    source источник


Ответы (1)


Вместо того, чтобы выполнять синтаксический анализ вручную, вы должны использовать класс Deserializer, который преобразует документ YAML в граф объектов.

var deserializer = new Deserializer();
var parsed = deserializer.Deserialize<...>(input);

Вы можете увидеть рабочий пример здесь

person Antoine Aubry    schedule 09.01.2015
comment
Проблема в том, что я понятия не имею о содержимом файла YAML. - person Jérémie Bertrand; 09.01.2015