Leia um arquivo JSON em C#

Muhammad Maisam Abbas 12 outubro 2023
Leia um arquivo JSON em C#

Este tutorial discutirá métodos para ler um arquivo JSON em C#.

Leia um arquivo JSON com a classe JsonConvert em C#

A classe JsonConvert pode ser usada para ler dados JSON em objetos e variáveis ​​e escrever objetos e variáveis ​​no formato JSON em C#. A classe JsonConvert está presente no framework Json.net, que não vem pré-instalado. O comando para instalar Json.net é fornecido abaixo.

Install-Package Newtonsoft.Json

Neste artigo, usaremos os seguintes dados JSON.

{
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
}

Para ler os dados desse arquivo, primeiro temos que criar uma classe de modelo que contém todos os atributos que queremos ler do arquivo.

file.json:

class datamodel {
  public string key1 { get; set; }
  public string key2 { get; set; }
  public string key3 { get; set; }
}

Agora temos uma classe de modelo que armazenará todos os dados do arquivo JSON em objetos de classe. Podemos obter dados de um arquivo com a função JsonConvert.DeserializeObject() em C#. A função JsonConvert.DeserializeObject() obtém os dados JSON na forma de uma variável de string e os converte no objeto de classe de modelo de dados especificado. O exemplo de código a seguir nos mostra como podemos obter os dados de um arquivo JSON em objetos de classe com a função JsonConvert.DeserializeObject() em C#.

StreamReader r = new StreamReader("file.json");
string jsonString = r.ReadToEnd();
datamodel m = JsonConvert.DeserializeObject<datamodel>(jsonString);

Inicializamos um StreamReader - r para ler o arquivo que contém os dados JSON file.json. Em seguida, inicializamos o jsonString, que é todos os dados dentro do arquivo file.json. Criamos uma instância da classe datamodel m para armazenar o valor retornado pela função JsonConvert.DeserializeObject<datamodel>(jsonString). Este é o método mais fácil de ler e gravar dados em um arquivo JSON em C#.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artigo relacionado - Csharp JSON