A biblioteca Newtonsoft.Json, também conhecida como Json.NET, é amplamente utilizada para converter objetos C# em JSON e vice-versa. Isso facilita a comunicação entre serviços e o armazenamento de dados em um formato leve e amplamente suportado. Neste exemplo, veremos como serializar um objeto C# em JSON e, em seguida, desserializar o JSON de volta para um objeto.
Bibliotecas:
Para usar a biblioteca Newtonsoft.Json, instale o pacote NuGet no seu projeto:
Install-Package Newtonsoft.Json
Código de Exemplo:
using Newtonsoft.Json;
using System;
namespace NewtonsoftJsonExemplo
{
public class Produto
{
public int Id { get; set; }
public string Nome { get; set; }
public decimal Preco { get; set; }
}
class Program
{
static void Main(string[] args)
{
// Criando um objeto de exemplo
Produto produto = new Produto { Id = 1, Nome = "Laptop", Preco = 1500.99m };
// Serializando o objeto para JSON
string json = JsonConvert.SerializeObject(produto);
Console.WriteLine("Objeto serializado: " + json);
// Desserializando o JSON de volta para um objeto
Produto produtoDesserializado = JsonConvert.DeserializeObject<Produto>(json);
Console.WriteLine("Objeto desserializado: ");
Console.WriteLine($"Id: {produtoDesserializado.Id}, Nome: {produtoDesserializado.Nome}, Preco: {produtoDesserializado.Preco}");
}
}
}
Explicação do Código:
Neste exemplo, criamos uma classe Produto com três propriedades: Id, Nome e Preco. No método Main, instanciamos um objeto dessa classe e o serializamos em uma string JSON usando o método JsonConvert.SerializeObject(). O JSON gerado é exibido no console. Em seguida, usamos o método JsonConvert.DeserializeObject() para converter o JSON de volta em um objeto da classe Produto. Por fim, os dados do objeto desserializado são exibidos no console.
Conclusão:
O Newtonsoft.Json é uma ferramenta essencial para lidar com dados em formato JSON em C#. Ele permite serializar e desserializar objetos de maneira simples e rápida, economizando tempo no desenvolvimento de aplicações que precisam interagir com APIs ou armazenar dados.
Código fonte: GitHub
Top comments (0)