Сведения о вопросе

Fhohir

21:39, 29th August, 2020

Теги

Это действительно YAML?

Просмотров: 495   Ответов: 8

Поэтому для моего анализа текста в вопросе C# я был направлен на YAML. Я бьюсь об стену с этой библиотекой, которую мне рекомендовали, так что это быстро.

heading:
 name: A name
 taco: Yes
 age: 32

heading:
 name: Another name
 taco: No
 age: 27

И так далее. Это действительно так?



  Сведения об ответе

dump

00:54, 23rd August, 2020

Частично. YAML поддерживает понятие множественного последовательного "documents". Если это то, что вы пытаетесь сделать здесь, то да, это правильно - у вас есть два документа (или фрагменты документа). Чтобы сделать его более явным, вы должны разделить их тремя черточками, как это:

---
heading:
 name: A name
 taco: Yes
 age: 32
---
heading:
 name: Another name
 taco: No
 age: 27

С другой стороны, если вы хотите сделать их частью одного документа (чтобы десериализация привела к созданию списка с двумя элементами), вы должны написать его следующим образом. Будьте особенно осторожны с уровнем отступа:

- heading:
  name: A name
  taco: Yes
  age: 32
- heading:
  name: Another name
  taco: No
  age: 27

В целом YAML является кратким и доступным для чтения / редактирования человеком, но не совсем доступным для записи человеком, поэтому вы всегда должны использовать библиотеки для его создания. Кроме того, позаботьтесь о том, чтобы между различными версиями YAML существовали некоторые критические изменения, которые могут укусить вас, если вы используете библиотеки на разных языках, соответствующие различным версиям стандарта.


  Сведения об ответе

DAAA

19:42, 22nd August, 2020

Попробуйте это(Online YAML parser).

Вам не нужно ничего скачивать или что-то делать. Просто зайдите туда и скопируйте & paste. Вот и все.


  Сведения об ответе

dump

21:06, 1st October, 2020

Ну, тогда получается, что YAML исчезло из окна. Я хочу что-то одновременно человеческое, записываемое и читаемое. Кроме того, этот C# implementation...I понятия не имеет, работает он или нет, документация состоит из нескольких примеров кода в одну строку. Он блюет на свои собственные файлы YAML, и это старый студенческий проект. Единственный другой парсер C# YAML, который я нашел, использует MS-PL, который мне не очень удобно использовать.

Я мог бы просто в конечном итоге свернуть свой собственный формат. К черту лучшие практики, все, что я хочу сделать, это связать ключ с ценностью.


  Сведения об ответе

ЯЯ__4

12:56, 4th August, 2020

Там, кажется, есть валидатор YAML под названием Kwalify , который должен дать вам ответ. Ты бы просто ушел со строкой разбора, человек. Писать Парсеры это весело :)


  Сведения об ответе

ASSembler

18:26, 21st August, 2020

Существует еще одна библиотека YAML для .NET , которая находится в стадии разработки. Прямо сейчас он поддерживает чтение потоков YAML. Он был испытан на Windows и Mono. В настоящее время реализуется поддержка записи.


  Сведения об ответе

dump

03:30, 15th August, 2020

CodeProject имеет один на:

http://www.codeproject.com/KB/recipes/yamlparser.aspx

Я не слишком много пробовал, но это стоит посмотреть.


  Сведения об ответе

+-*/

19:56, 11th August, 2020

Вы можете увидеть выходные данные в онлайн-анализаторе yaml :

http://yaml-online-parser.appspot.com/?yaml=heading%3A%0D%0A+name%3A+A+name%0D%0A+taco%3A+Yes%0D%0A+age%3A+32%0D%0A%0D%0Aheading%3A%0D%0A+name%3A+Another+name%0D%0A+taco%3A+No%0D%0A+age%3A+27%0D%0A&type=json

Как вы можете видеть, создан только один узел заголовка.


  Сведения об ответе

LAST

12:17, 26th August, 2020

Просто чтобы сделать явный комментарий по этому поводу: у вас есть дублирующий ключевой вопрос сопоставления. Процессор YAML разрешит это как a !!карта, которая запрещает дублировать ключи. Однако не все процессоры применяют это ограничение, поэтому вы можете получить неверный результат, если передадите процессору неверный поток YAML.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться