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. promethues+alertmanager+grafana监控docker容器和报警—基于手动配置和文件自动发现—详细文档

    promethues+alertmanager+grafana监控docker容器和报警-基于手动配置和文件自动发现-详细文档 相关配套软件包网盘下载链接如下: 网盘地址: https://url28 ...

  2. 【计算机网络】手动配置hosts文件解决使用GitHub和Coursera网站加载慢/卡的问题

    目录 0 前言 1 打开hosts 1.1 以管理员身份运行记事本 1.2 打开hosts 2 找到实际地址 2.1 打开cmd 2.2 找到网址 3 替换地址 3.1 修改hosts文件 3.2 刷 ...

  3. mysql 优化配置 大批量数据插入_[译] MySQL 最佳实践 —— 高效插入数据

    当你需要在 MySQL 数据库中批量插入数百万条数据时,你就会意识到,逐条发送 INSERT 语句并不是一个可行的方法. MySQL 文档中有些值得一读的 INSERT 优化技巧. 在这篇文章里,我将 ...

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

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

  5. MyBatis Eclipse 配置DTD文件 MyBatis Idea配置DTD文件

    MyBatis Eclipse 配置DTD文件 MyBatis Idea配置DTD文件 一.情景描述 xml文件中,一般默认从网络中加载DTD文件,但是在某些没网的场景,无法从网络中加载dtd,则需要 ...

  6. ​Elastic Stack最佳实践系列:Beats->ES,一个更轻型的架构选择

    作者:李捷,Elastic首席云解决方案架构师 ELK生态下,构建日志分析系统的选择 说起开源的日志分析系统,ELK几乎无人不晓,这个生态并非是Elastic特意而为,毕竟Elasticsearch的 ...

  7. 手动配置WCF宿主的.config文件遇到的几种错误

    手动配置WCF宿主的.config文件遇到的几种错误   今天尝试用控制台应用程序作为WCF宿主,遇到几个问题,这几个问题虽然都不难,但寻找解决方案相当费时费力,做记录.    WCF标准的配置文件为 ...

  8. wp config.php mysql_WordPress手动配置wp-config.php文件

    前不久在WordPress技术群里看到有人在安装网站程序的时候出现了系统不能自动配置wp-config.php文件的问题,那么这个时候就需要我们手动进行配置了. 问题描述: 如果自动创建未能成功,不用 ...

  9. antd 选择文件夹_antd 手动上传文件

    先说我要实现的效果:我想用antd 的 upload 实现手动上传文件,上传文件时还有附加参数 我看了官网上说在beforeUpload中返回false,然后通过按钮点击事件触发上传. Q1:附加参数 ...

  10. myid文件到底是否需要自己手动配置

    使用zookeeper的方式 zookeeper节点数 myid文件 hbase自带zookeeper 3或者2N+1个 需要自己添加,不会自动生成 hbase使用独立的zookeeper 3或者2N ...

最新文章

  1. linux下命令行打开文件管理器
  2. textview的基本设置
  3. webpack中跨域请求proxy代理(vue与react脚手架不同设置方法)
  4. 云服务如何搭建数据库_【MySQL8.0.18】阿里云服务器上搭建MySQL数据库
  5. How to change the text color in the terminal
  6. java语言静态分析工具_PMD 6.16.0 发布,跨语言静态代码自动分析工具
  7. 记一次nginx反向代理做转发遇到的坑
  8. How To Replace The Firefox Icon With Your Logo
  9. grafana和zabbix的端口映射
  10. ios 图片合成 处理合成模糊 水印 模板图片合成
  11. Linux vip地址通信原理,IPv6的组播地址(掌握IPv6通信原理的关键知识点)
  12. wget 下载整个网站源码
  13. KEPServerEX 6 之 EX 6.11.718.0 发布说明
  14. 南师大GIS考研数据库2019年第五题
  15. 手把手教你如何连接到宝塔面板创建的FTP空间
  16. PMP/高项 项目范围管理实践
  17. WP Super Cache远程代码执行漏洞分析
  18. VS2013使用教程总结(3)---修改VA的注释
  19. React爬坑之路三:Dva
  20. CoBOT检测出AI开源框架TensorFlow中的缺陷

热门文章

  1. 天气预报查询python_天气预报查询示例代码
  2. 联想计算机phoenix award bios,phoenix-Award BIOS
  3. C++异常处理之terminate函数和set_terminate()函数
  4. 如何成长为一名专业的程序员?
  5. Spring实例化bean的三种方法
  6. Android中生成库文件与移除以及导入jar包重复问题
  7. VS2010 TFS 如何把一个项目添加到源代码管理中及其他管理
  8. 基于OHCI的USB主机 —— USB设备其它数据结构
  9. 2009年十大Java技术解决方案
  10. LCS2005标准版部署