微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 C# 中循环遍历 SimpleJSON 数组

如何解决在 C# 中循环遍历 SimpleJSON 数组

我有一个 Unity 项目,可以从我的网络服务器中获取 JSON。

[
  {
    name: "foo",start: 1,},{
    name: "bar",start: 5,{
    name: "baz",start: 10,]

我正在用 SimpleJSON 解析 JSON 字符串

  var res = JSON.Parse(www.downloadHandler.text);

访问单个数组元素没有问题。

Debug.Log(res[0]["name"].Value);
// logs "foo"

Debug.Log(res[1]["start"].AsInt);
// logs 5

但我不知道如何遍历每个对象并访问其属性。 (我的真实数据在数组中有超过 3 个对象)。

   foreach (var item in res) {
        string name = item["name"].Value;
   }

给出错误

CS0021:无法将带有 [] 的索引应用于“keyvaluePair”类型的表达式

这在 javascript 中是微不足道的,为什么这在 C# 中如此困难?我被困了一整天,我确定我错过了一些简单的东西。

解决方法

试试这个

for (int i = 0; i< res.Count; i++)  //or res.Count()
{ 
   var name res[i]["name"].Value;
....your code
}

你也可以使用这个:

foreach( KeyValuePair<string,JSONNode> entry in res)
{
    // do something with entry.Value or entry.Key
}

但第一种方法更简单。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。