c – XML与YAML对于2D RPG的JSON

这个问题在这里已经有一个答案:> Is there a C++ library to read JSON documents into C++ objects? 4个
我不知道是否对C 2D RPG使用XML,YAML或JSON.

这是我的想法:

>我需要一些简单的东西,不仅可以保存播放器数据,还可以保存环境数据,如对象(x,y)坐标;加载时间日期;图形配置等
>我需要一些灵活的,易于使用的东西,而且重量轻,而且功能强大可以处理上述.

哪个是最好的选择?我在JavaScript中有JSON的经验,但不是C.有没有什么好的参考解析JSON在C如果这是去的路线?

编辑

老实说,如果一个文本文件看起来像是这样的最简单和最有效的解决方案(特别是如果我可以把它写成二进制文件),那么我都是耳朵.

编辑2

随时提供其他建议.

解决方法

我会用最简单的东西来满足你的要求.

如果您不需要分层存储,那么平面表格文件比其他任何东西都要容易得多.所有你需要做的是读取磁盘上的行并在标签上拆分.

如果您正在查看更多的键/值对类型存储(而不是事物列表),那么INI files可以是合理的.这种格式有很大的灵活性,尽管推理这个格式在你敲诈它时可以不那么平易近人.

如果您需要层次结构,则JSON可能会更简单.有很多语言的JSON库,听起来你已经很熟悉了.

https://stackoverflow.com/questions/245973/whats-the-best-c-json-parser

sqlite可能是另一种选择. sql中有龙,但是在sqlite周围有一个很好的C包装,它可以管理.在我看来,主要的好处是ACID.

YAML规格看起来有点长,所以我可以猜到它有更多的厨房水槽.只是撇去libyaml文档,API看起来有点像过去使用的SAX接口.我没有一个后验知识,但是我没有理由开始使用它,将会保持沉.

XML很难处理,不要选择加入.

无论选择哪一个,都可以编写尽可能少的代码来管理它.你真的想写你的引擎将先使用的类.然后担心序列化它们.如果让你的序列化影响你的班级设计,你可能会后悔.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...