validator tutorial lib español yaml

tutorial - ¿Es este YAML válido?



yaml validator (8)

Entonces, para mi análisis de texto en C # pregunta , me dirigieron a YAML. Estoy golpeando una pared con esta biblioteca, me recomendaron, así que esto es rapidito.

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

Y así. Es eso valido?


Bueno, parece que YAML se fue por la ventana entonces. Quiero algo escrito y legible por humanos. Además, esta implementación de C # ... no tengo idea si funciona o no, la documentación consta de unos pocos ejemplos de código de una línea. Barf en sus propios archivos YAML, y es un viejo proyecto de estudiante. El único otro analizador C # YAML que he encontrado usa el MS-PL que no me gusta usar.

Podría terminar rodando mi propio formato. Las mejores prácticas sean condenadas, todo lo que quiero hacer es asociar una clave con un valor.


Parcialmente. YAML apoya la noción de múltiples "documentos" consecutivos. Si esto es lo que intenta hacer aquí, entonces sí, es correcto: tiene dos documentos (o fragmentos de documentos). Para hacerlo más explícito, debes separarlos con tres guiones, como este:

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

Por otro lado, si desea hacerlos parte del mismo documento (para que deserializarlos resulte en una lista con dos elementos), debe escribirlo de la siguiente manera. Tenga especial cuidado con el nivel de sangría:

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

En general, YAML es conciso y legible / editable por humanos, pero no es realmente editable por humanos, por lo que siempre debe usar bibliotecas para generarlo. Además, tenga cuidado de que existan algunos cambios bruscos entre las diferentes versiones de YAML, que pueden morderlo si está utilizando bibliotecas en diferentes idiomas que se ajustan a las diferentes versiones del estándar.


Parece que hay un validador YAML llamado Kwalify que debería darle la respuesta. Deberías haber ido con el token de String, hombre. Escribir analizadores es divertido :)


Hay otra biblioteca YAML para .NET que está en desarrollo. En este momento es compatible con la lectura de secuencias YAML. Ha sido probado en Windows y Mono. El soporte de escritura se está implementando actualmente.





Solo para hacer un comentario explícito al respecto: Usted tiene un problema de clave de mapeo duplicado. Un procesador YAML resolverá esto como un mapa, que prohíbe las llaves duplicadas. Sin embargo, no todos los procesadores hacen cumplir esta restricción, por lo que puede obtener un resultado incorrecto si pasa una secuencia YAML incorrecta a un procesador.