Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] serialização json

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.

Pessoa.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;

namespace serializacao_json.Modelos
{
    internal class Pessoa
    {
        public string Nome { get; set; }
        public int Idade { get; set; }
        public string Email { get; set; }


        public void adicionarNome(string nome)
        {
            Nome = nome;
        }

        public void adicionarIdade(int idade)
        {
            Idade = idade;
        }

        public void adicionarEmail(string email)
        {
            Email = email;
        }

        public void serializarJson()
        {
            Console.WriteLine("dados pessoais");
            string json = JsonSerializer.Serialize(new
            {
                nome = Nome, idade = Idade, email = Email
            });
            string nomeDoArquivo = $"dados-{Nome}.json";
            File.WriteAllText(nomeDoArquivo, json);
            Console.WriteLine($"json criado com sucesso! {Path.GetFullPath(nomeDoArquivo)}");
        }
    }
}

Program.cs


using serializacao_json.Modelos;

Pessoa eu = new();
eu.adicionarNome("giovanna");
eu.adicionarIdade(20);
eu.adicionarEmail("gio.s.melo@gmail.com");

eu.serializarJson();
1 resposta
solução!

Olá Giovanna, tudo bem?

Achei muito interessante a forma como você organizou a classe Pessoa e implementou os métodos para adicionar informações e serializá-las em JSON. É uma ótima maneira de entender e aplicar conceitos de serialização em C#.

Uma sugestão para aprimorar seu código seria incluir algumas verificações nos métodos adicionarNome, adicionarIdade, e adicionarEmail para garantir que os dados fornecidos pelo usuário estejam em um formato válido antes de prosseguir com a serialização. Por exemplo, você poderia verificar se o nome não está vazio, se a idade é um número positivo, e se o e-mail tem um formato válido.

Aqui está uma possível implementação para essas verificações:

public void adicionarNome(string nome)
{
    if (string.IsNullOrWhiteSpace(nome))
    {
        throw new ArgumentException("O nome não pode estar vazio.");
    }
    Nome = nome;
}

public void adicionarIdade(int idade)
{
    if (idade <= 0)
    {
        throw new ArgumentException("A idade deve ser um número positivo.");
    }
    Idade = idade;
}

public void adicionarEmail(string email)
{
    if (!email.Contains("@"))
    {
        throw new ArgumentException("O e-mail deve ter um formato válido.");
    }
    Email = email;
}

Isso ajuda a garantir que os dados serializados estejam sempre corretos e evita problemas futuros.

Parabéns pelo projeto e continue com o bom trabalho!

Abraço!