Resolução:
Pessoa.cs
using System.Text.Json;
using System.Threading.Tasks;
namespace DesafiosCSharp03._04Desafio
{
public class Pessoa
{
public Pessoa(string? nome, int? idade, string email)
{
Nome = nome;
Idade = idade;
Email = email;
}
public string? Nome { get; }
public int? Idade { get; }
public string Email { get; }
public void CriarArquivoJSON()
{
string json = JsonSerializer.Serialize( new
{
Nome,
Idade,
Email
});
string nomeDoArquivo = $"dados-{Nome}.json";
File.WriteAllText(nomeDoArquivo, json);
Console.WriteLine();
Console.WriteLine($"Arquivo criado com sucesso\n" +
$"{Path.GetFullPath(nomeDoArquivo)}");
Console.WriteLine();
}
public void ConvertendoArquivoJSON(string nomeDoArquivo)
{
try
{
if (File.Exists(nomeDoArquivo))
{
// Ler conteúdo do arquivo JSON
string resposta = File.ReadAllText(nomeDoArquivo);
// Desserializar JSON para objeto Pessoa
Pessoa pessoa = JsonSerializer.Deserialize<Pessoa>(resposta)!;
Console.WriteLine($"Exibindo informações de {pessoa.Nome}");
Console.WriteLine($"\nNome: {pessoa.Nome}");
Console.WriteLine($"Idade: {pessoa.Idade}");
Console.WriteLine($"Email: {pessoa.Email}");
}
else
{
Console.WriteLine($"O arquivo {nomeDoArquivo} não existe.");
}
}
catch (Exception ex)
{
Console.WriteLine($"Temos um erro: {ex.Message}");
}
}
}
}
Program.cs
//1)Criar um programa que permite ao usuário inserir informações de uma pessoa (nome, idade, e e-mail), serializa essas informações em formato JSON e salva em um arquivo.
using DesafiosCSharp03._04Desafio;
var pessoa1 = new Pessoa("Chris", 20, "email.com");
pessoa1.CriarArquivoJSON();
//02. Criar um programa que lê um arquivo JSON contendo informações de uma pessoa,
//desserializa essas informações e exibe na tela.
pessoa1.ConvertendoArquivoJSON("dados-Chris.json");