我有一个标准的JSON数组返回给我,我用JsonConvert反序列化,下面是我的情况的简化代表:
[
{
"name": "John",
"age": "21",
},
{
"name": "Sally",
"age": "18",
},
{
"name": "Harry",
"age": "25",
}
]
...
Public Class myExample
Public Property name as String
Public Property age as Integer
End Class
...
Dim serverResponse as string = reader.ReadToEnd()
Dim jsonResult = JsonConvert.DeserializeObject(Of List(Of myExample))(serverResponse)
我可以轻松地检索给定项目索引的名称或年龄的值,例如,
Dim someValue = jsonResult.Item(1).name ' returns Sally
Dim someOther = jsonResult.Item(1).age ' returns 18
然而,我希望返回给定名称的数组的索引(整数):即,我如何搜索Sally并检索Item索引整数(在本例中为1),或者在John的情况下,返回0?我无法通过jsonResult.IndexOf()或jsonResult.FindIndex()来实现这一点,并且搜索效果不佳。
我有一个广泛的JSON,并希望循环访问dataGridView列上的名称,将所有名称的年龄返回到另一列。
感谢您帮助新手!
由于以这种方式进行反序列化会产生List(T),因此可以通过以下方式找到上述示例的索引:
jsonResult.FindIndex((Function(s) s.name.Equals(someNameToCheck))))
或在列表中查找项目的任何其他方法。