2013-05-03 16 views
5

qualcuno è riuscito ad adattare/portare Json.NET a una versione in grado di eseguire sotto Unity3d distribuito su iOS (e il webplayer e anche Android, ma questi sembrano meno problematici), in qualche modo superando i problemi di AOT lì?Json.NET sotto Unity3d per iOS

O è previsto il rilascio di una versione compatibile di Json.NET?

Molte grazie,

Max

risposta

2

Newtonsoft Json non riesce AOT in iOS e fallisce anche nel deserializzare qualsiasi cosa erediti da KeyedCollection nel webplayer. Ecco una versione che è stato fissato:

JSON .NET For Unity (Supports iOS)

1

Nope per quanto ne so.

LitJson e JsonFX potrebbero essere una scelta alternativa per Unity3D.

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

+0

fa LitJSON lavoro sotto iOS/AOT? Quella pagina non dice nulla. Qualche esperienza? – AModernRonin

+0

@AModernRonin: Sì. Funziona su Android e iOS. Ma con approccio AOT, non sono sicuro che LitJson sarebbe adatto al tuo codice. Sarebbe meglio che tu fornissi il tuo codice di esempio per descrivere i tuoi requisiti. – SONIC3D

1

Usiamo MiniJson e finora serve il nostro JSON deve bene :)

+0

Sembra interessante. Ho bisogno di condividere il codice tra il client (Unity) e il server del mio gioco, questo sembra fattibile. – AModernRonin

+0

Tuttavia, un po 'di trascinamento è così di basso livello, rispetto a Json.NET – AModernRonin

-1

Sì, noi condividiamo il codice sul client e server e utilizzare una versione precedente quando si chiamava NewtonSoft.Json. Funziona in IOS, Android, tutto.

Cercare NewtonSoft.Json e probabilmente è possibile trovare un archivio.

0

Dai un'occhiata alla versione modificata di LitJson: UnityLitJson


realtà LitJson ha alcuni problemi e non è sempre al lavoro come previsto, in modo da creato un semplice JSON-Lib in grado di gestire tutti i tipi Unity3D, le enumerazioni e le classi arbitrarie. Trovare presso GitHub: Tiny-JSON

si può utilizzare molto semplice:

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

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