2013-05-03 19 views
5

有人成功地将Json.NET调整为能够在Unity3d下运行的一个版本,部署到iOS(以及webplayer和android,但这些似乎不太成问题) AOT在那里问题?针对iOS的Unity3d下的Json.NET

还是有计划发布Json.NET的兼容版本?

非常感谢,

最大

回答

2

Newtonsoft Json在iOS中失败了AOT,并且在反序列化继承自webplayer中的KeyedCollection的任何事情上失败。以下是已经固定的一个版本:

JSON .NET For Unity (Supports iOS)

1

都能跟得上AFAIK。

LitJson和JsonFX将成为Unity3D的替代选择。

http://wiki.unity3d.com/index.php?title=UnityLitJSON

+0

做下的iOS/AOT LitJSON工作?该页面没有说什么。任何经验? – AModernRonin 2013-05-06 09:41:34

+0

@AModernRonin:是的。它可以在Android和iOS上运行。但是对于AOT方法,我不确定LitJson是否适合您的代码。您最好提供示例代码来描述您的需求。 – SONIC3D 2013-05-08 16:14:51

1

我们使用MiniJson,至今它符合我们需要的JSON很好:)

+0

看起来很有趣。我需要在(Unity)客户端和我的游戏的服务器部分之间共享代码,这看起来是可行的。 – AModernRonin 2013-05-06 09:42:25

+0

然而,与Json.NET相比,它有点低级别的拖拽 – AModernRonin 2013-05-06 09:42:52

-1

是的,我们在客户端和服务器共享代码和使用旧版本的时候,它被称为NewtonSoft.Json。适用于IOS,Android,一切。

搜索NewtonSoft.Json,你可能会找到一个档案。

0

看一看LitJson的修改后的版本:UnityLitJson


其实LitJson有一些问题,如预期的那样一直在努力,所以我创建了一个简单的JSON-Lib,可以处理所有Unity3D类型,枚举类和任意类。在GitHub上找到它:Tiny-JSON

您可以使用它很简单:

// encode 
Animal a = new Animal(4); 
string json = Json.Encode(a); 

// decode 
IList<Animal> a = Json.Decode<IList<Animal>>("[{\"legs\":4}, {\"legs\":2}]");