存档格式选择--JSON
游戏里存档可以直接用lua,但是lua需要有一定编程基础;另外可以用ini,不过ini又太简单了,复杂的
格式无法用ini描述;还可以用xml,它的表达能力非常丰富,甚至有限数据库都用xml来作存储结构,
不过xml又太复杂了;于是出现了JSON,不太复杂表述能力还可以的通用数据存储格式。
让我们先来看一下JSON的格式:(以下代码来自百度百科JSON)
{ "people": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"}, { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" } ] }
上面的结构就只有"{}"、"[]"、":"其中,"{}"可以用来表示具有相同属性的对象集合,"[]"表示数组,":"类似等于,","即分隔。
以上的JSON片段的含义就是的三个people对象数组,people具有三个属性:firstName,lastName,email。
不管多复杂的JSON都是是由这些简单键值对的集合,所以碰到复杂的JSON,只要从里到外,逐层分析就可以了。
那么如何在代码里应用JSON呢,许多语言都提供了相应的函数来解析和生成JSON,lua也是如此。
json4lua,提供了访问JSON值得函数而且也可以把lua表转换为JSON格式,而且还支持RPC(Remote procedure call,
远程过程(函数、方法)调用)。json4lua是用存lua实现的,因此只要把下载的lua文件放到相应目录,并require就可以调用了。
官网的例子很丰富了,大家可以自己测试,欢迎留言讨论。
另外祝大家马年马到成功!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。