Uma outra forma de ler e gravar Json
Boa tarde pessoal,
Eu vi que já escreveram aqui no fórum sobre como ler e gravar arquivos Json, mas eu gostaria de compartilhar com vcs uma outra forma que eu descobri de fazer isso sem utilizar o StremReader, achei bem pratico.
Vou utilizar o meu projeto bytebank como exemplo para explicar.
Primeiramente eu crio o nome do arquivo onde vou salvar os dados dos meus usuários ( isso na Main)
using System.Text.Json;
string fileName = "Usuarios.json";
Para criar um arquivo Json posso fazer o seguinte:
Neste código eu estou passando por parâmetro a minha lista de usuários, que neste caso é uma lista de objetos do tipo Usuario, e o nome do arquivo que vou criar.
Eu então adiciono à lista o novo usuário que criei, e transformo essa lista para a notação Json.
Json significa "JavaScript object notation", que é uma forma muito comum de salvar dados. a string que acabei de criar fica como:
[{"Cpf":"066","Titular":"Gabriel","Senha":"123"}]
O que eu então salvo em um arquivo. Sendo neste momento uma lista com apenas um objeto.
Para ler um arquivo Json e utilizar no nosso código vamos precisar desserializar o arquivo, que é por exemplo o que eu faço toda vez que inicio o programa:
Neste caso ao inciar o programa eu vou ler eu o arquivo Json que já foi criado antes e se ele não estiver vazio eu desserializo o arquivo.
Neste caso como eu tinha transformado uma lista de objetos para json anteriormente é exatamente isso que vou esperar de volta quando eu desserializar o arquivo.
Então eu adiciono cada elemento dessa lista para a minha lista que utilizo no meu programa.
Espero que seja de proveito para vcs e não tenha ficado confuso.
André Filipe @andresantosBem detalhada a sua publicação. Um teste rápido antes de adicionar ao código é bom.
Em resposta agabrielSantos⬆:Marco Sousa @marcosousaBoa, mostrou de um jeito simples e eficaz. Desse jeito vai ajudar muito. Mandou bem!!
Em resposta agabrielSantos⬆:Lettycia Cristina @lettyciacristinaNossa, muito bom... era o que estava precisando, vou tentar implementar no meu ByteBank. Obrigada!
Gabriel de Araújo Santos @gabrielSantosDe nada!
- TEm resposta agabrielSantos⬆:Thiago Nebuloni @thiagonebuloni
Muito bom Gabriel! Eu estava tendo algumas dificuldades pra fazer a persistência em Json, agora consegui implementar no meu Jogo da Velha. Valeu!
Gabriel de Araújo Santos @gabrielSantosDe nada!
- VEm resposta agabrielSantos⬆:vicente francisco carvalho neto @vicentecarvalho3600
parabens! muito bom! me ajudou muito!!!
- AEm resposta agabrielSantos⬆:Alana @alanaperes
Me ajudou muito Gabriel, consegui entender bem como funciona a persistência e aplicar. Obrigada.
Em resposta agabrielSantos⬆:Mauricio Santana @mauriciosmIsso me ajudou uns dias atrás, mas esqueci de comentar aqui por conta da correria. E para atualizar uma informação, como vc está fazendo?
Gabriel de Araújo Santos @gabrielSantosEntão, eu encontro o jogador que desejo atualizar na minha lista de jogadores e se eu quiser atualizar o usuario por exemplo, faço:
jogador.Usuario=novoUsuario.
Ai para o Json é bem simples, tudo que preciso fazer é serializar a nova lista

Mauricio Santana @mauriciosmShow, antes meu código estava bem maior, juntei com a forma que pensei antes e consegui reduzir meu código na metade ou pouco menos da metade. Valeuuuu Monitor Gabriel :)