string str={"icon": "友军坦克","type": "friend","List": [{"icon1": 1},{"icon2": 2}]}这个字符串unity怎么获取到list中icon2的数据
时间: 2024-06-23 18:01:06 浏览: 51
在Unity中,你不能直接从一个JSON字符串像`{"icon": "友军坦克","type": "friend","List": [{"icon1": 1},{"icon2": 2}]}`中获取键为"icon2"的值,因为Unity本身不直接支持JSON字符串解析。不过,你可以使用第三方库如Json.NET(JsonSerializer)或者Unity的内置插件(如Newtonsoft.Json)来实现这个转换。
以下是使用Json.NET(假设已经安装并导入命名空间)的步骤:
```csharp
using Newtonsoft.Json.Linq;
// 假设你有一个字符串str
string str = "{\"icon\": \"友军坦克\",\"type\": \"friend\",\"List\": [{\"icon1\": 1},{\"icon2\": 2}]}";
// 解析JSON字符串为JObject
JObject jsonObject = JObject.Parse(str);
// 使用JObject的Children属性获取到List部分,然后遍历找到"icon2"
JArray list = (JArray)jsonObject["List"];
string icon2Data = "";
foreach (JToken item in list)
{
if (item.Property("icon2") != null)
{
icon2Data = item["icon2"].ToString();
break;
}
}
// 获取到的icon2数据
Debug.Log("icon2数据: " + icon2Data);
```
如果你使用Unity的内置插件,方法类似,只是使用的类和API会有所不同。