作为一个相对较新的程序员,我曾多次遇到这样的情况,即从外部源读取和汇编程序数据而不是将其写入代码中是有益的.当存在大量相同类型的对象时,大多数情况都是如此.在这种情况下,对象定义会迅速占用代码中的大量空间,并增加了对可读性的不必要的障碍.
作为一个例子,我一直在研究基于文本的RPG,它有大量的房间和项目可以跟踪.即使是少数项目和房间也会导致大量的对象创建代码.
我认为在这种情况下使用某种格式的外部数据存储,从文件中读取会更容易.在这样的文件中,项目和房间将按名称和属性存储,以便它们可以相对容易地解析为对象.
什么格式最适合这个?我觉得像SQL这样的成熟数据库会给相当轻松的脚本增加不必要的膨胀.另一方面,通过外部应用程序或其他python脚本,编辑此数据的简单方法很重要.在更轻松的事情上,我听到的最少提到的是XML,JSON和YAML.
从我所看到的,XML似乎不是最好的选择,因为许多人似乎发现它复杂而且难以有效地工作.
JSON和YAML似乎可能有用,但我不知道从外部编辑是多么容易.在这种情况下,速度不是主要关注点.虽然更快的实现当然是可取的,但它并不是我可以使用的限制因素.
我在这里和谷歌都环顾四周,虽然我已经看过很多关于这个话题,但我找不到任何对我有用的东西.像JSON或YAML这样的格式是否足够,或者我会更好地使用完整的数据库?
我正在使用ruby 2.1.0
我有一个json文件。例如:test.json
{
"item":[
{"apple": 1},
{"banana": 2}
]
}
Run Code Online (Sandbox Code Playgroud)
使用YAML.load加载此文件安全吗?
YAML.load(File.read('test.json'))
Run Code Online (Sandbox Code Playgroud)
我正在尝试加载json或yaml格式的文件。
可能重复:
XML与YAML对比JSON
我读了很多关于xml,yaml和json的东西,我知道在某些情况下每个都比其他情况好.我只是想确保我心中的想法是正确的......
json可以转换为yaml和xml
yaml可以转换为xml,而不是总是转换为json我从这里读取它:"技术上YAML是JSON的超集.这意味着,至少在理论上,YAML解析器可以理解JSON,但不一定是相反的方式".在这里阅读
xml无法始终转换为yaml和json