2013-05-03 22 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}]");