@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, может быть более предпочтительным вариантом.