[英]VB.Net Getting Value from JSON
請有人幫我從這個JSON獲取每個分支中的branch_id嗎?
{
"branches": {
"1": {
"member_id": "-16",
"branch_id": "1"
},
"2": {
"member_id": "-16",
"branch_id": "1"
}
}
}
我正在使用JavaScriptSerialiser反序列化JSON,但未正確執行,因為我認為JSON並非像我以前使用的數組:
Dim jss As New JavaScriptSerializer()
Dim data As OfficeCheckJsonResponse = jss.Deserialize(Of OfficeCheckJsonResponse)(responseFromServer)
使用Newtonsoft,對象類型為字典(整數,SampleClass),就像在同一主題中一樣,請檢查鏈接。
Dim JsonSettings = New Newtonsoft.Json.JsonSerializerSettings
JsonSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
Dim OutObject = Newtonsoft.Json.JsonConvert.DeserializeObject(Of branch)("###JSONSTRING###")
Public Class branch
Property branches As Dictionary(Of Integer, SampleClass)
Class SampleClass
Property member_id As String
Property branch_id As String
End Class
End Class
類在Value屬性中,鍵是Unique String,在這種情況下是1,2,3,4 ...
For Each DictionaryElement As KeyValuePair(Of String, BranchesData) In branches
Debug.Print(DictionaryElement.Key) 'Is Key 1,2,3 etc..
'DictionaryElement.Value is BranchesData
Debug.Print(DictionaryElement.Value.branch_id)
Debug.Print(DictionaryElement.Value.member_id)
Next
聲明一個Branch
類,並將屬性Branch
branches As Dictionary(Of String, Branch)
到OfficeCheckJsonResponse
類。
使用JavaScriptSerialiser,將JSON反序列化為OfficeCheckJsonResponse
的實例。
您可以通過遍歷data.branches
來獲取branch_id
值。 您也可以使用LINQ。
Sub Main
Dim responseFromServer = "{
""branches"": {
""1"": {
""member_id"": ""-16"",
""branch_id"": ""1""
},
""2"": {
""member_id"": ""-16"",
""branch_id"": ""1""
}
}
}"
Dim jss As New JavaScriptSerializer()
Dim data As OfficeCheckJsonResponse =
jss.Deserialize(Of OfficeCheckJsonResponse)(responseFromServer)
For Each branch As KeyValuePair(Of String, Branch) In data.branches
Console.WriteLine(Int32.Parse(branch.Key))
Console.WriteLine(branch.Value)
Next
End Sub
Public Class OfficeCheckJsonResponse
Public Property branches As Dictionary(Of String, Branch)
End Class
Public Class Branch
Property member_id As String
Property branch_id As String
End Class
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.