我有一个标准的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,希望在dataGridViewer列上循环遍历名称,将所有名称的年龄返回到另一列。
感谢您帮助新手!
答案 0 :(得分:1)
由于以这种方式反序列化导致List(of T),因此可以通过以下示例找到上述示例的索引:
jsonResult.FindIndex((Function(s) s.name.Equals(someNameToCheck))))
或在列表中查找项目的任何其他方法。