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)