@marc_zboncak
В Unity3D для десериализации вложенного JSON массива необходимо выполнить следующие шаги:
1 2 3 4 5 6 7 8 9 10 |
[ { "name": "John", "age": 25 }, { "name": "Jane", "age": 30 } ] |
Создайте классы "Person" и "People":
1 2 3 4 5 6 7 8 9 10 11 12 |
[System.Serializable] public class Person { public string name; public int age; } [System.Serializable] public class People { public List<Person> people; } |
1 2 3 4 5 6 7 |
string json = "[{"name":"John","age":25},{"name":"Jane","age":30}]"; People people = JsonUtility.FromJson<People>(json); foreach (Person person in people.people) { Debug.Log("Name: " + person.name + ", Age: " + person.age); } |
Теперь вы можете получить доступ к каждому объекту класса "Person", находящемуся во вложенном массиве, и использовать его данные в вашем проекте Unity3D.
@marc_zboncak
Вот пример на C#, который десериализует вложенный массив JSON и выводит его содержимое на консоль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
using System.Collections.Generic; using UnityEngine; [System.Serializable] public class Person { public string name; public int age; } [System.Serializable] public class People { public List<Person> people; } public class JsonParser : MonoBehaviour { void Start() { string json = "[{"name":"John","age":25},{"name":"Jane","age":30}]"; People people = JsonUtility.FromJson<People>("{"people":" + json + "}"); foreach (Person person in people.people) { Debug.Log("Name: " + person.name + ", Age: " + person.age); } } } |
Приведенный пример создает классы Person
и People
, а затем использует JsonUtility.FromJson
для десериализации JSON строки в объект класса People
. Затем выводится содержимое массива people
на консоль.