json, 实际上就是一种规范的存储数据的结构,它具有结构简明、实现方便、多变万用、跨平台等特点,深受人们喜爱。Unity的工程,在自身数据结构设计方面、数 据的内存与外存转换方面、以及与服务器沟通方面,都迫切需要像json这样的通用且易用的结构。下面我来谈一下在unity中使用json的一些心得,欢 迎大家前来交流。
Unity支持C#,那么首先要需要一个基于C#的json库,网上可以找到封装好的插件,不过我建议还是使用开源的或者自己敲代码比较好一些,以便后续给json库添加接口,丰富功能。我用的是经过自己修改的SimpleJson,代码可以参考http://wiki.unity3d.com/index.php/SimpleJSON。 关于对这个库的修改,简单来说就两个方面:一个是为了方便在Unity中使用lua编程,让lua能够调用这个json库,关于lua的使用以后会详谈; 另外就是加入遍历所有key值的接口,我主要用到的是json中的JsonObject而不是JsonArray,所以key值对我来说很重要,也方便我 制作Unity中的json编辑器。
我制作的json编辑器:
当然,目前我的插件还存在一些不足,比如不支持JsonArray结构的编辑,树状结构的设计不够简约等等,相信只要弄懂如何递归遍历所有key-value,有些编程基础的读者都能够做出类似的插件。这里主要提供我的一些思路,希望能给读者带来帮助。
原文地址:http://www.manew.com/blog-27966-2566.html
Unity支持C#,那么首先要需要一个基于C#的json库,网上可以找到封装好的插件,不过我建议还是使用开源的或者自己敲代码比较好一些,以便后续给json库添加接口,丰富功能。我用的是经过自己修改的SimpleJson,代码可以参考http://wiki.unity3d.com/index.php/SimpleJSON。 关于对这个库的修改,简单来说就两个方面:一个是为了方便在Unity中使用lua编程,让lua能够调用这个json库,关于lua的使用以后会详谈; 另外就是加入遍历所有key值的接口,我主要用到的是json中的JsonObject而不是JsonArray,所以key值对我来说很重要,也方便我 制作Unity中的json编辑器。
我制作的json编辑器:
当然,目前我的插件还存在一些不足,比如不支持JsonArray结构的编辑,树状结构的设计不够简约等等,相信只要弄懂如何递归遍历所有key-value,有些编程基础的读者都能够做出类似的插件。这里主要提供我的一些思路,希望能给读者带来帮助。
原文地址:http://www.manew.com/blog-27966-2566.html