logo

Analisar JSON em C#

Introdução:

Analisar JSON em C# é uma tarefa comum para desenvolvedores que criam aplicativos que consomem dados JSON. JSON representa Notação de objeto JavaScript e é um formato leve de mudança de representação de dados que é ideal para usuários normais lerem e escreverem e fácil para máquinas analisarem e gerarem. Neste artigo, veremos como analisar JSON em C# usando o recurso integrado .NET JSON analisando bibliotecas.

A análise JSON em C# pode ser alcançada de diferentes maneiras: usando o Biblioteca Newtonsoft.Json ou usando o Biblioteca System.Text.Json introduzido em .NET Core 3.0 . Ambas as bibliotecas são escolhas populares para análise JSON em C# e fornecem funcionalidades semelhantes.

Método 1: usando o pacote Newtonsoft.Json

Um dos pacotes mais populares para análise de JSON em C# é Newtonsoft.Json . É um pacote de terceiros que fornece uma maneira simples e flexível de serializar e desserializar dados JSON.

Usar Newtonsoft.Json em seu projeto C#, você precisa instalá-lo primeiro. Você pode instalá-lo através do NuGet gerenciador de pacotes em Estúdio visual ou executando o seguinte comando no Console do Gerenciador de Pacotes:

intenção intenção

Código:

 Install-Package Newtonsoft.Json 

Depois de instalado, você pode começar a usá-lo em seu código. Aqui está um exemplo de como analisar JSON usando Newtonsoft.Json:

Código C#:

 using Newtonsoft.Json; string json = @'{ 'name': 'John', 'age': 30, 'city': 'New York' }'; dynamic data = JsonConvert.DeserializeObject(json); string name = data.name; int age = data.age; string city = data.city; Console.WriteLine('Name: ' + name); Console.WriteLine('Age: ' + age); Console.WriteLine('City: ' + city); 

Neste exemplo, definimos uma string JSON e desserializamos usando o JsonConvert.DeserializeObject método fornecido por Newtonsoft.Json . O método retorna um objeto dinâmico, que nos permite acessar os dados JSON usando a sintaxe da propriedade.

processo android acore continua parando

Método 2: usando o namespace System.Text.Json

Começando com .NET Core 3.0 e .NET 5.0, C# também fornece uma biblioteca de análise JSON integrada chamada Sistema.Texto.Json . É um serializador e desserializador JSON leve e rápido que está incluído no .LÍQUIDO tempo de execução.

Aqui está um exemplo de como analisar JSON usando Sistema.Texto.Json:

Código C#:

 using System.Text.Json; string json = @'{ 'name': 'John', 'age': 30, 'city': 'New York' }'; JsonDocument doc = JsonDocument.Parse(json); JsonElement root = doc.RootElement; string name = root.GetProperty('name').GetString(); int age = root.GetProperty('age').GetInt32(); string city = root.GetProperty('city').GetString(); Console.WriteLine('Name: ' + name); Console.WriteLine('Age: ' + age); Console.WriteLine('City: ' + city); 

Neste exemplo, usamos o JsonDocument.Parse método fornecido por Sistema.Texto.Json para analisar a string JSON. O método retorna um JsonDocumento objeto, que representa os dados JSON analisados. Podemos então acessar os dados JSON usando o JsonElemento classe e sua Obter propriedade método.

Método 3: usando a classe JavaScriptSerializer

Outra maneira de analisar JSON em C# é usando o JavaScriptSerializador aula, que faz parte do System.Web.Extensions conjunto. Esta classe foi introduzida em . NET Framework 3.5 e fornece uma maneira simples de desserializar dados JSON em um objeto fortemente tipado.

Para usar o JavaScriptSerializador class, você precisa criar uma classe que represente o objeto JSON que deseja desserializar. A classe deve ter propriedades que correspondam aos nomes e tipos de dados das propriedades do objeto JSON. Por exemplo, suponha que você tenha o objeto JSON abaixo:

Objeto JSON:

comandos linux
 { 'name': 'John Doe', 'age': 30, 'email': '[email protected]' } 

Você pode criar uma classe que represente este objeto da seguinte forma:

Código C#:

Shilpa Shetty
 public class Person { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } } 

Depois de definir a classe, você pode usar o JavaScriptSerializador class para desserializar os dados JSON em uma instância da classe Person:

Código C#:

 string json = '{'name':'John Doe','age':30,'email':'[email protected]'}'; JavaScriptSerializer serializer = new JavaScriptSerializer(); Person person = serializer.Deserialize(json); 

No exemplo acima, primeiro definimos uma string contendo os dados JSON. Criamos então uma instância do JavaScriptSerializador classe e usou seu método Deserialize para analisar os dados JSON em uma instância da classe Person.

Vale a pena notar que o JavaScriptSerializador class tem limitações em comparação com os outros dois métodos que discutimos. Por exemplo, ele não oferece suporte a alguns dos recursos mais avançados do JSON, como manipulação de valores nulos ou conversão entre convenções de nomenclatura camelCase e PascalCase. Ele também não possui suporte integrado para desserializar matrizes JSON.

Conclusão:

Neste artigo, exploramos duas maneiras de analisar JSON em C#: usando o Newtonsoft.Json biblioteca e usando o Sistema.Texto.Json biblioteca. Ambas as bibliotecas fornecem recursos avançados de análise JSON e são amplamente utilizadas por desenvolvedores que criam aplicativos C# que consomem dados JSON.