@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 на консоль.