我是C#的新手。下面是JSON数据。此外,我得到了它通过转换从谷歌表。我正试图为我的团结游戏做一个排行榜。但是我不能将这些“值”赋给变量。我想得到“Name”,“Score”,“Event”,然后把它们赋给一个变量。
{
"range": "Sheet1!A1:M112",
"majorDimension": "ROWS",
"values": [
[
"Time",
"Name",
"Surname",
"E-Mail",
"Company / University",
"Event(Optional)",
"Score"
],
[
"12.06.2023 11:17:09",
"Henry",
"Powell",
"@hotmail.com",
"x Company",
"x Event",
"0"
]
]
}
我有这样的结构。此外,我可以打印majorDimension
和range。我不理解C#中的列表内列表概念,所以我无法到达“值”部分。你可以看到我在getData部分尝试了什么。
public struct Data{
public string range;
public string majorDimension;
public List<List<string>> values;
}
IEnumerator getData()
{
UnityWebRequest www = UnityWebRequest.Get(googleSheetURL);
yield return www.SendWebRequest();
if (www.isNetworkError || www.isHttpError)
{
Debug.Log(www.error);
}
else
{
Data data = JsonUtility.FromJson<Data>(www.downloadHandler.text);
Debug.Log(data.values);
Debug.Log(data.majorDimension);
Debug.Log(data.range);
}
www.Dispose();
}
如果你能帮忙我会很高兴的。祝你今天愉快!
1条答案
按热度按时间rqenqsqc1#
你可以使用这个代码作为例子
但我强烈建议你下载并安装Unity3D的Newtonsoft.json(谷歌一下)。在本例中,您可以使用以下代码反序列化JSON字符串
但是要使用Newtonsoft,不要忘记添加{get; set;}为Data类的所有属性