Deserializando dados do Firebase no Csharp

17/01/2018

0

Olá, tudo bem!?

Eu estou trabalhando com C# em uma aplicação desktop com Firebase. Estou recuperando os dados do banco em JSON e deserializando-os usando a biblioteca Newtonsoft.Json

O problema é que eu não sei fazer um dicionário nem uma lista depois que deserializo o arquivo. Quero poder trabalhar com os dados e suas keys livremente.
Segue o código:

HttpWebRequest pesquisar = (HttpWebRequest)WebRequest.CreateHttp(URL);
            pesquisar.ContentType = "application/json: charset=utf-8";
            HttpWebResponse pesquisar1 = pesquisar.GetResponse() as HttpWebResponse;
            using (Stream pesquisarStream = pesquisar1.GetResponseStream())
            {
                StreamReader reader = new StreamReader(pesquisarStream, Encoding.UTF8);
                var text = reader.ReadToEnd();


                var listaDinamica = JsonConvert.DeserializeObject(text);
                richTextBox1.Text = listaDinamica.ToString();

            }



Os dados no RichTextBox:

{
  "-L1OD7LjENM8ZHSpS7NE": {
    "Idade": "18 anos",
    "Nome": "vitor",
    "Telefone": "11 970705570"
  },
  "-L1ODHPKmz_1zcCfpZwF": {
    "Idade": "10 anos",
    "Nome": "joao",
    "Telefone": "9898294792"
  },
  "-L1ODMFC92yisdG4UxPU": {
    "Idade": "30 anos",
    "Nome": "bruno",
    "Telefone": "9898294792"
  }
}


Preciso transformar isso em uma lista. Como fazer?
Vlw pela ajuda.

Essa dúvida foi gerada a partir de um comentário no artigo [url descricao=''Serialização de objetos no formato JSON '']//www.devmedia.com.br/serializacao-de-objetos-no-formato-json/28686[/url]
Vitor

Vitor

Responder

Posts

17/01/2018

Joel Rodrigues

Olá, Vitor. Esse JSON não pode ser deserializado diretamente para uma lista, mas você pode percorrer os itens retornados e criar uma lista manualmente:<br />
<br />
<br />
var lista = new Dictionary<string, object>();<br />
<br />
foreach (var item in (listaDinamica as JObject).Values())<br />
{<br />
    lista.Add(item.Path, item);<br />
}<br />
<br />
<br />
Aqui criei um dicionário, pois cada item possui uma chave e um valor.<br />
<br />
Qualquer dúvida, é só falar.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar