В качестве альтернативы использованию JsonUtility
существует старый добрый SimpleJSON
, который позволяет вам получить доступ только к определенному полю вашего json, например,
var N = JSON.Parse(the_JSON_string);
var myData = N["data"]["CODE"]["feedMe"][0][0];
var item2 = myData["item2"].Value;
ВВ общем, самый простой способ получить необходимую структуру класса c # для вашего json - это всегда использовать json2csharp
, сделать все классы [Serializable]
и удалить {get; set;}
, чтобы использовать поля вместо свойств. Примерно так
[Serializable]
public class SomeData
{
public string h;
public string id;
public string lat;
}
[Serializable]
public class CODE
{
public SomeData someData;
public List<List<MyData>> feedMe;
}
[Serializable]
public class MyData
{
public string item1;
public string item2;
public string item3;
}
[Serializable]
public class Data
{
public CODE CODE;
}
[Serializable]
public class RootObject
{
public Data data;
}
Вместо List<T>
вы также можете использовать T[]
, если хотите. И имена классов на самом деле не имеют значения, но имена структур и полей должны совпадать.
, а затем использовать
var root = JsonUtility.FromJson<RootObject>(THE_JSON_STRING);
var myData = root.data.CODE.feedMe[0][0];
var item2 = myData.item2;
Как уже было сказано, вложенный массив вваш массив .. не уверен, если это предназначено.