在 C# 中循环一个 SimpleJSON 数组
Loop over a SimpleJSON array in C#
我有一个从我的网络服务器获取 JSON 的 Unity 项目。
[
{
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<string, JSONNode>'
类型的表达式
这在 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
}
但第一种方式更简单
我有一个从我的网络服务器获取 JSON 的 Unity 项目。
[
{
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<string, JSONNode>'
类型的表达式这在 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
}
但第一种方式更简单