如何直接从密钥中获取值?

时间:2018-03-14 10:08:14

标签: json vb.net

我是VB和Json的新手。以下是获取密钥ID的值的代码。我可以直接使用循环来获取它吗?

data_Obj = JsonConvert.DeserializeObject(Of Dictionary(Of String, Object))(data_result)

For Each obj In data_Obj
    If obj.Key.Equals("ID") Then
        str_id = obj.Value
    End If
Next

谢谢。

2 个答案:

答案 0 :(得分:2)

无需循环。拥有Dictionary的主要原因之一是对其元素的快速访问。您可以使用TryGetValue

data_Obj = JsonConvert.DeserializeObject(Of Dictionary(Of String, Object))(data_result)
Dim str_id as String
if data_Obj.TryGetValue("ID", str_id) Then
    ' SUCCESS 
else
    ' FAILURE
end if

这是最安全的方法,因为如果您的密钥在返回的字典中不存在,它不会触发异常。

答案 1 :(得分:0)

试试这个

data_Obj = JsonConvert.DeserializeObject(Of Dictionary(Of String, Object))(data_result)

str_id = data_Obj.item("ID")

好像data_Obj是普通词典