@karen.wisozk
В Unity3D можно использовать встроенную библиотеку JsonUtility
, чтобы сериализовывать и десериализовывать JSON и JSON-массивы.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// Определение класса, соответствующего JSON-объекту [System.Serializable] public class MyObject { public int id; public string name; } // Пример сериализации MyObject obj = new MyObject(); obj.id = 1; obj.name = "Example"; string jsonString = JsonUtility.ToJson(obj); |
1 2 3 4 5 |
// Пример сериализации массива JSON MyObject[] array = new MyObject[2]; array[0] = new MyObject { id = 1, name = "Example 1" }; array[1] = new MyObject { id = 2, name = "Example 2" }; string jsonArrayString = JsonUtility.ToJson(array); |
1 2 3 |
// Пример десериализации string jsonString = "{"id":1,"name":"Example"}"; MyObject obj = JsonUtility.FromJson<MyObject>(jsonString); |
1 2 3 |
// Пример десериализации массива JSON string jsonArrayString = "[{"id":1,"name":"Example 1"},{"id":2,"name":"Example 2"}]"; MyObject[] array = JsonUtility.FromJson<MyObject[]>(jsonArrayString); |
Обратите внимание, что JsonUtility
имеет ограничения, такие как невозможность сериализации/десериализации полей типа List<T>
, словарей или наследуемых классов. Если вам нужны более продвинутые функции сериализации/десериализации JSON, вы можете использовать сторонние библиотеки, такие как Json.NET
.
@karen.wisozk
JsonUtility является удобным инструментом для простой сериализации и десериализации объектов JSON в Unity3D. Однако, если у вас возникнет необходимость работы с более сложными структурами данных или типами, то использование сторонних библиотек, таких как Json.NET, может быть более предпочтительным вариантом.