zoukankan      html  css  js  c++  java
  • yaml

    C#与yaml解析

     

    YAML 官方网站称 YAML 是"一种所有编程语言可用的友好的数据序列化标准"。YAML Ain't Markup Language,和GNU一样,YAML是一个递归着说"不"的名字。不同的是,GNU对UNIX说不,YAML说不的对象是XML。

    YAML不是XML。


    为什么不是XML呢?因为:

    • YAML的可读性好。
    • YAML和脚本语言的交互性好。
    • YAML使用实现语言的数据类型。
    • YAML有一个一致的信息模型。
    • YAML易于实现。

    上面5条也就是XML不足的地方。同时,YAML也有XML的下列优点:

    • YAML可以基于流来处理;
    • YAML表达能力强,扩展性好。

    总之,YAML试图用一种比XML更敏捷的方式,来完成XML所完成的任务。更多的内容及规范参见http://www.yaml.org

    YamlDotNet ---YAML的C# 实现

    YAML已经有了不少实现,详细的实现列表参见http://www.yaml.org/download.html。列表中并没有.net的实现, 其实.NET也有 YamlDotNet(http://aaubry.net/pages/yamldotnet.html)是YAML的C#实现。YAML文件格式主要集中于空格缩进的概念,它用于指出数据的层次结构 而不是使用XML嵌套标记或JSON的大括号({})和方括号([]),实际上,它是JSON的一个超集,因此,在使用的时候,你可能需要采用JSON风格的语法来跳出空格流,它的创始人将其形容为 为所有编程语言提供人性化的数据序列化标准 ,以我的经验来看,其重点是人性化, 这篇文章Human readable and editable config files with YAML(http://blog.codeinside.eu/2015/02/09/yaml-dot-net ) 简要介绍了YamlDotNet。

    YamlDotNet官方网站上以下示例的列表可以帮助您入门。

    Deserializing反序列化

    YAML 文档转换为对象图。

    •Serializing 序列化

    将对象转换为其 YAML 表示形式。

    Loading YAML 流

    说明如何加载使用表示模型的 YAML。

    在反序列化期间 Validating

    通过操纵的反序列化器节点列表,很容易将行为添加到反序列化程序。此示例演示当他们被反序列化如何验证对象。

    Deserializing 多个文档

    解释如何从流中加载多个 YAML 文件。

    • YAML转换为 JSON JSON 转换为YAML ,使用 Json.NET 的 JSON 转换 YAML 显示如何将 YAML 文件转换为 JSON。

    欢迎大家关注微信号opendotnet,微信公众号名称:dotNET跨平台。扫下面的二维码或者收藏下面的二维码关注吧(长按下面的二维码图片、并选择识别图中的二维码)

  • 相关阅读:
    Python大婶博客汇总
    DevOps之零停机部署
    DevOps之持续交付
    DevOps工具链
    DevOps的概念
    敏捷开发
    自动化运维
    tomcat优化
    java 集合专练
    java匿名内部类,多态,接口练习
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/4733449.html
Copyright © 2011-2022 走看看