atitit.手动配置列表文件的选择and 数据的层次结构 attilax总结最佳实践--yaml

1. yaml是个好的选择.. 1

2. 数据的层次结构--结构:hash,list,和block literal。
1

3. yaml跟json的实现区别 1

4. xml的优点及json的问题 2

4.1. ide友好 2

4.2. JSON也适合与任何数据,复杂struts难以阅读 2

4.3. json难以手工维护 3

5. 基于YAML的开源项目解析YAML文件最常用的Java库是JvYAML 3

6. yaml的ide支持 3

7. 参考 3

1. yaml是个好的选择..

一个list,使用json手动维护麻烦的,双引号也多兰..

2. 数据的层次结构--结构:hash,list,和block literal。

3. yaml跟json的实现区别

hash(散列)

通过缩进子段和在关键字与值之间使用冒号(:)来分割实现hash的创建,使用自然的回车做多fld的分割

还有一种方法就是使用与JSON兼容的大括号语法({})语法,每一对关键字/值使用逗号(,)分割,如

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

list(清单)

通过在每个list元素前放一个减号(-)来创建list,与空格缩进一起构成了YAML的基石:

components:

        - JTextArea

        - Jbutton

还有一种方法就是使用JSON兼容的方括号([])语法,如:

block literal(文字块)

这是YAML的亮点,特别是与XML相比,它的CDATA显得相当简陋,block literal可以将大块文本细致地插入文件中,你可以使用竖线(|)指令在你的文本中保留新行,如:

text: |

   This is a really long text

4. xml的优点及json的问题

4.1. ide友好

YAML没有提供方案或DTD概念,因此无法验证文件格式是否符合你的预期,XML的啰嗦也有它的价值,但总的说来是因为XML的成熟使它具有大量额外的工具来验证它的格式,而YAML还没有。

4.2. JSON也适合与任何数据,复杂struts难以阅读

它主要面向提高性能和文件尺寸的大小,因为它几乎不使用空格和关闭标签,然而,JSON文件的内容增加了复杂性,它的关 闭标识就象下地狱一样,这就是JavaFx代码(它基于JSON)中可见的最痛苦的了,在数据文件中,使用UI结构使结果更复杂,其复杂程度几乎使文件变 得无法理解。

4.3. json难以手工维护

掺和了{}结构和[]清单,使得手工维护大型的JSON风格的文件变得相当困难,YAML使用它的空格缩进方法巧妙地解决了这个问题,当

5. 基于YAML的开源项目解析YAML文件最常用的Java库是JvYAML

请原谅我在这里厚脸皮地介绍我们自己的开源项目,当我真的不知道除了JRuby外其他的基于YAML的开源项目,JRuby的Ruby on Rails框架实现严重依赖YAML,而不是XML或JSON,看看我的Java Builder库吧(http://www.javabuilders.org/),它利用YAML文件提供了一种方法定义屏幕控制、布局、事件线路和数据绑定,以实现将说明UI装入Java。

6. yaml的ide支持

对Eclipse而言,有Eclipse YAML editor(http://code.google.com/p/yamleditor/),对NetBeans而言,你可以使用来自Ruby包(http://www.netbeans.org/features/ruby/index.html)的YAML编辑器,然而,在NetBeans 6.1中的YAML编辑器并没有什么用处,它只支持YAML很小的一个子集(例如:它不支持block literal)

7. 参考

超越XML和JSON:YAML - 在水一方 - 博客频道 - CSDN.NET.htm

atitit.手动配置列表文件的选择and 数据的层次结构 attilax总结最佳实践--yaml的更多相关文章

  1. paip.复制文件 文件操作 api的设计uapi java python php 最佳实践

    paip.复制文件 文件操作 api的设计uapi java python php 最佳实践 =====uapi   copy() =====java的无,要自己写... ====php   copy ...

  2. 百亿级小文件存储,JuiceFS 在自动驾驶行业的最佳实践

    自动驾驶是最近几年的热门领域,专注于自动驾驶技术的创业公司.新造车企业.传统车厂都在这个领域投入了大量的资源,推动着 L4.L5 级别自动驾驶体验能尽早进入我们的日常生活. 自动驾驶技术实现的核心环节 ...

  3. 如何通过倾斜摄影数据手动配置s3c索引文件?

    如何通过倾斜摄影数据手动配置s3c索引文件? 大家知道,倾斜摄影数据最常见的是OSGB格式,并且是由一个一个的Tile分级文件夹构成的Data文件夹.结构一般如下图所示: 那么,如何才能把模型的各个瓦 ...

  4. Smart3D系列教程7之 《手动配置S3C索引加载全部的瓦片数据》

    一.前言 迄今为止,Wish3D已经出品推出了6篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于 ...

  5. iOS开发备忘录:属性列表文件数据持久化

    属性列表文件是一种XML文件,Foundation框架中的数组和字典等都可以于属性列表文件相互转换. NSArray类常用读写属性列表文件的方法: +arrayWithContentsOfFile:类 ...

  6. Atitit..文件上传组件选择and最佳实践的总结(2)----HTTP

    Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 怎样推断一个插件/控件是否支持断点续传?? 1 3. 经常使用的组件选型结果::马 1 4.  ...

  7. atitit.提取zip rar文件列表 java php c# 的原理与设计

    atitit.java提取zip rar文件列表 1. 取zip rar文件的场景问题 1 1.1. 多重压缩的问题 1 1.2. 文件名编码的问题 1 1.3. 目录的判定 1 2. rar的解析 ...

  8. Hibernate入门3.配置映射文件深入

    Hibernate入门3.配置映射文件深入 2013.11.27 前言: 之前的两节是在Java项目中如何使用hibernate,并且通过一个简单地项目实践,期间有很多的错误,一般都是因为配置包的问题 ...

  9. Atitit phpstorm配置attilax总结

    Atitit phpstorm配置attilax总结 1. 前期准备 1 1.1. 配置interpreter 1 1.2. debug需要xdebug的支持,不管是script模式还是web模式 3 ...

随机推荐

  1. 《Linux兵书》

    <Linux兵书> 基本信息 作者: 刘丽霞    杨宇 丛书名: 程序员藏经阁 出版社:电子工业出版社 ISBN:9787121219924 上架时间:2014-1-13 出版日期:20 ...

  2. docker学习总结--安装、卸载

    参考:http://blog.csdn.net/u012562943/article/details/50463400 https://docs.docker.com/engine/getstarte ...

  3. #include &lt;NOIP2009 Junior&gt; 细胞分裂 ——using namespace wxl;

    题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家.现在,他正在为一个细胞实 验做准备工作:培养细胞样本. Hanks 博士手里现在有 N 种细胞,编号从 1~N,一个 ...

  4. AndroidStudio用Cmake方式编译NDK代码(cmake配置.a库)

    1.cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C+ ...

  5. [Todo] Java及C++ Exception整理

    今天接触到一些Java Exception方面的内容,整理如下: http://developer.51cto.com/art/201111/304649.htm C++中Exception等的整理

  6. C# 操作Excel大全

    //引用Microsoft.Office.Interop.Excel.dll文件 //添加using using Microsoft.Office.Interop.Excel; using Excel ...

  7. JSP学习笔记(四):文件上传

    JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图像文件或任何文档.我们使用 Servlet 来处理文件上传,使用到的文件有: upload.j ...

  8. SQL Alias

    There are two types of aliases that are used most frequently in SQL command: which is column alias a ...

  9. C# 16位GUID

    摘自: http://www.cnblogs.com/lcwzj/archive/2009/04/16/1436992.html 当我们想要获得一个唯一的key的时候,通常会想到GUID.这个key非 ...

  10. 移动端的emoji表情符号插入MySQL数据库失败

    插入数据时候报了错:### Error updating database. Cause: Java.sql.SQLException: Incorrect string value: ‘\xF0\x ...