如何在统一中使用JsonUtility获得子数组
本文关键字:JsonUtility 数组 | 更新日期: 2023-09-27 18:18:02
这是我的JSON:
{"data":[{"id":1,"layoutLabel":"Sameer Non Custom","orbNumber":"["0","1","2","3"]"},
{"id":2,"layoutLabel":"Samer Custom","orbNumber":"["2","3","4","5"]"}],"status":200}
这是我在unity中的c#类来反序列化它:
[System.Serializable]
class GetLayoutsResult
{
public List<LayoutData> data;
public int status;
}
[System.Serializable]
class LayoutData
{
public int id;
public string layoutLabel;
public string [] orbNumber;
}
下面是反序列化它的代码:
GetLayoutsResult P = JsonUtility.FromJson<GetLayoutsResult>(w.text);
if (P.status == 200)
{
for (int i = 0; i < P.data.Count; i++)
{
Debug.Log(layoutEditButtonScript.layoutName + " " + P.data[i].positionX[0])
}
}
我在这里没有得到positionX数组。我得到一个索引数组错误。有人能帮我反序列化unity中的子数组吗?
问题是你的json格式不正确。
:
"orbNumber": "["0", "1", "2", "3"]"
应该是这样的:
"orbNumber": ["0", "1", "2", "3"]
数组不需要加引号
另外,您需要在模型类中将positionX重命名为orbNumber。