目前我正在Unity3D(C#)中实现一个将导出到Flash和WebPlayer版本的应用程序。 应用程序使用JSON与服务器通信。 我的问题是:是否有任何JSON-Parser在Unity WebPlayer和Flash中有效? 我已经试过了MiniJSON Flash Version。花了好几个小时使其成为一个干净的导出它在UnityWebPlayer中解码JSON但在Flash中返回NULL。 有没有其他方法可以解析Unity WebPlayer和Flash中的JSON字符串?或者是否有其他JSON-Parser也可以在Flash中运行? 我真的搜索了很多但是人们提供了MiniJSON的链接或建议等待Unity3D 4.0版。 我甚至尝试过unity3D的Proxy-Class功能,但无法在Flash端运行它。也许有人可以提供一个例子吗?
非常感谢
答案 0 :(得分:1)
我使用LitJSON for Unity并且在我之前构建用于测试目的的网络播放器版本时没有任何问题。我没有使用Flash播放器的经验,但根据此演示文稿Unity and Flash, the best of both worlds! - Unite presentation slides第18页ff。它应该做的工作。
答案 1 :(得分:1)
没有用C#编写的JSON库可能与Unity的flash导出一起使用(如果你想在客户端使用强类型对象),因为即使在官方4.0版本中也不支持某些关键的.net反射部分。我要求Unity制裁一个支持的JSON解析器,它可以在桌面,网络播放器和闪存中使用,而且这个版本没有发生。
我最终在客户端使用本机AS3 stringify和parse方法,在服务器端使用JSON.net。棘手的部分是补偿Unity在将C#转换为ActionScript时所做的名称修改。通过使用一些标准方法来覆盖解析和序列化JSON字符串,使用大量的describeType(),我能够在没有硬编码的情况下完成这项工作。由于JSON.net在他们的网络播放器中得到支持,我能够使用一些#if FLASH编译指示来使两者都运行良好,具体取决于构建目标。
所以....这是可能的,也许我已经为你做了很多艰苦的工作。如果你想要一些例子,请告诉我。
-Tray Weeds
答案 2 :(得分:0)
试试这个:https://github.com/ironmagma/jsonparse
它完全用UnityScript编写。可能它在Flash Export中有用并且有效。但我没有测试它。