适用于Unity3D和Flash的JSON-Parser

时间:2012-11-14 13:34:48

标签: c# json flash parsing unity3d

目前我正在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端运行它。也许有人可以提供一个例子吗?

非常感谢

3 个答案:

答案 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中有用并且有效。但我没有测试它。