Использование словаря для десериализации - PullRequest
1 голос
/ 16 марта 2020

Я создал программу VB. NET, которая извлекает информацию из базы данных Firebase Realtime.

Приведенный ниже код получает данные из узла 'information':

Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim resp = Await client.GetTaskAsync("information")
    Debug.WriteLine("Info: " & resp.Body)
    Dim getData = resp.ResultAs(Of Dictionary(Of String, Data1))

    For Each i In getData
         Debug.WriteLine("Name: " & i.Value.id)
    Next
End Sub

Public Class Data1
    Public id As String
    Public name As String
    Public address As String
    Public age As String
End Class

Выходные данные для извлечения данных:

Информация: {"task1": {"address": "3", "age": "4", "id": "1", "name": " 2 "}," task2 ": {" адрес ":" 3" , "возраст": "4", "идентификатор": "1", "название": "2"}, "Task3": { "адрес" : "3", "возраст": "4", "идентификатор": "1", "название": "2"}, "task4": { "адрес": "3", "возраст": "4" , "идентификатор": "1", "название": "2"}, "task5": { "адрес": "3", "возраст": "4", "идентификатор": "1", "название" : "2"}}

Итак, я знаю, что информация собирается правильно. Проблема возникает, когда я пытаюсь использовать данные для создания списка. Я использую .ResultAs(Of Dictionary(Of String, Data1)), чтобы разбить его на класс 'Data1'. Ключ в порядке для каждого узла, например, «task1» - но значения для «address» или «age» et c. являются нулевыми.

Кто-нибудь может пролить свет на то, где я иду не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...