Deserializando dados do Firebase no Csharp
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:
Os dados no RichTextBox:
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]
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
Curtidas 0
Respostas
Joel Rodrigues
17/01/2018
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 />
<br />
Aqui criei um dicionário, pois cada item possui uma chave e um valor.<br />
<br />
Qualquer dúvida, é só falar.
<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 />
Aqui criei um dicionário, pois cada item possui uma chave e um valor.<br />
<br />
Qualquer dúvida, é só falar.
GOSTEI 0