atitit.手动配置列表文件的选择and 数据的层次结构 attilax总结最佳实践--yaml
atitit.手动配置列表文件的选择and 数据的层次结构 attilax总结最佳实践--yaml
2. 数据的层次结构--结构:hash,list,和block literal。
1
4.2. JSON也适合与任何数据,复杂struts难以阅读 2
5. 基于YAML的开源项目解析YAML文件最常用的Java库是JvYAML 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: |
还有一种方法就是使用JSON兼容的方括号([])语法,如:
block literal(文字块)
这是YAML的亮点,特别是与XML相比,它的CDATA显得相当简陋,block literal可以将大块文本细致地插入文件中,你可以使用竖线(|)指令在你的文本中保留新行,如:
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的更多相关文章
- paip.复制文件 文件操作 api的设计uapi java python php 最佳实践
paip.复制文件 文件操作 api的设计uapi java python php 最佳实践 =====uapi copy() =====java的无,要自己写... ====php copy ...
- 百亿级小文件存储,JuiceFS 在自动驾驶行业的最佳实践
自动驾驶是最近几年的热门领域,专注于自动驾驶技术的创业公司.新造车企业.传统车厂都在这个领域投入了大量的资源,推动着 L4.L5 级别自动驾驶体验能尽早进入我们的日常生活. 自动驾驶技术实现的核心环节 ...
- 如何通过倾斜摄影数据手动配置s3c索引文件?
如何通过倾斜摄影数据手动配置s3c索引文件? 大家知道,倾斜摄影数据最常见的是OSGB格式,并且是由一个一个的Tile分级文件夹构成的Data文件夹.结构一般如下图所示: 那么,如何才能把模型的各个瓦 ...
- Smart3D系列教程7之 《手动配置S3C索引加载全部的瓦片数据》
一.前言 迄今为止,Wish3D已经出品推出了6篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于 ...
- iOS开发备忘录:属性列表文件数据持久化
属性列表文件是一种XML文件,Foundation框架中的数组和字典等都可以于属性列表文件相互转换. NSArray类常用读写属性列表文件的方法: +arrayWithContentsOfFile:类 ...
- Atitit..文件上传组件选择and最佳实践的总结(2)----HTTP
Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 怎样推断一个插件/控件是否支持断点续传?? 1 3. 经常使用的组件选型结果::马 1 4. ...
- 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的解析 ...
- Hibernate入门3.配置映射文件深入
Hibernate入门3.配置映射文件深入 2013.11.27 前言: 之前的两节是在Java项目中如何使用hibernate,并且通过一个简单地项目实践,期间有很多的错误,一般都是因为配置包的问题 ...
- Atitit phpstorm配置attilax总结
Atitit phpstorm配置attilax总结 1. 前期准备 1 1.1. 配置interpreter 1 1.2. debug需要xdebug的支持,不管是script模式还是web模式 3 ...
随机推荐
- Source Insight 源代码查看工具
在开发的过程中,有时候我们需要研究源代码,查看源码是一个好的习惯,能帮我们学到很多的东西,比如JDK可以帮助我们理解很多设计模式在实际开发中的应用,又或者android开发者,源代码更是必不可少的,当 ...
- 【转载】Java并发编程:volatile关键字解析 by 海子
volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...
- Android Studio调试报错am startservice
今天下载了一个Android studio2.3.0版本,想调试一下自己的一个项目,但是发现项目编译运行正常,但是一调试就报错: 09/14 16:19:13: Launching app$ adb ...
- split-array-largest-sum(参考了discuss)
注意,第一种用法,涉及到一些Java的知识.就是采用Object作为HashMap的key的时候,需要重载这个Class的 equals 和 hashCode 这两个方法.其中equals需要判断一下 ...
- GSM模块_STM32实现GPRS与服务器数据传输经验总结
硬件环境 MCU:STM32F103RET6 (调试器:J-Link) GSM模块:Ai-Thinker_A6 (安信可)(还需要配一个串口打印工具,当初选这个模块纯粹是因为价格是最便宜的) ---- ...
- C#中使用TCP通信
TCP通信需要通信双方都在线,所以需要先启动服务端进行监听,客户端才能获得连接,服务端代码: static void Main(string[] args) { TcpClient client = ...
- JVM垃圾回收(GC)整理总结学习
基本回收算法 1. 引用计数(Reference Counting)比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数.垃圾回收时,只用收集计数为0的对象.此算法最 ...
- XMPPFrameWork IOS 开发(四)消息和好友上下线
原始地址:XMPPFrameWork IOS 开发(四) 消息 //收到消息 - (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XM ...
- Unity5.1 新的网络引擎UNET(十五) Networking 引用--下
孙广东 2015.7.21 本节提供了与网络系统一起使用的组件的具体信息. 10.Network Proximity Checker Suggest a change Success! Than ...
- BlazeMeter+Jmeter 搭建接口测试框架
转载:http://www.sohu.com/a/133218497_575744 关于接口测试,笔者认为其难点分别在如下几方面:接口参数的获取和输入.测试数据的准备.场景的串联.测试结果的断言. 接 ...