C# Parse JSON

Minahil Noor 12 outubro 2023
  1. Programa C# para analisar string JSON usando o método JsonConvert.DeserializeObject()
  2. C# Program to Parse JSON String Utilizando JObject.Parse() Método
  3. C# Program to Parse JSON String Utilizando JavaScriptSerializer().Deserialize() Método
C# Parse JSON

JavaScript Object Notation (JSON) é um formato para o intercâmbio de dados. É mais fácil de escrever para humanos e mais simples de processar para máquinas. Em C#, há muitos métodos para processar dados JSON.

Neste artigo, vamos discutir os métodos pelos quais você pode analisar o JSON em um objeto em C#.

Programa C# para analisar string JSON usando o método JsonConvert.DeserializeObject()

O método JsonConvert.DeserializeObject() pertence à classe JsonConvert. Ele é utilizado para converter uma string JSON em um objeto C#. O objeto é de uma classe personalizada que é criada através da análise da string JSON.

A sintaxe correta para utilizar este método é a seguinte:

JsonConvert.DeserializeObject<CustomClassName>(JsonStringName);

Exemplo de código:

using System;
using Newtonsoft.Json;

namespace JSONParsing {
  public class Parsing {
    public static void Main(string[] args) {
      var jsonString = @"{'FirstName': 'Olivia', 'LastName': 'Mason'}";
      // Use of the method
      var NameObject = JsonConvert.DeserializeObject<Name>(jsonString);
      Console.WriteLine(string.Concat("The First Name and Last Name are, ", NameObject.FirstName,
                                      " " + NameObject.LastName, "."));
    }
    // Creating custom class after analyzing JSON string
    public class Name {
      public string FirstName { get; set; }
      public string LastName { get; set; }
    }
  }
}

Resultado:

The First Name and Last Name are : Olivia Mason.

Este método lança JsonSerializationException se a conversão de JSON para objeto em C# não for bem sucedida. Esta exceção é então resolvida utilizando um bloco de try-catch.

C# Program to Parse JSON String Utilizando JObject.Parse() Método

O método JObject.Parse() é um método de classe JObject. Este método de parse é utilizado para analisar uma string JSON em um objeto C#. Ele analisa os dados da string com base em seu valor key. Este valor chave é então utilizado para recuperar os dados.

A sintaxe correta para utilizar este método é a seguinte:

Jobject.Parse(jsonStringName);

Exemplo de código:

using System;
using Newtonsoft.Json.Linq;

namespace JSONParsing {
  public class Parsing {
    public static void Main(string[] args) {
      string jsonString =
          @"{
            'FirstName':'Olivia',  
            'LastName':'Mason'  
        }";
      // Use of the method
      var Name = JObject.Parse(jsonString);
      Console.WriteLine(string.Concat("The First Name and Last Name is: ", Name["FirstName"],
                                      " " + Name["LastName"], "."));
    }
  }
}

Resultado:

The First Name and Last Name is : Olivia Mason.

O método JObject.Parse() lança exceções que poderiam ser tratadas utilizando um bloco try-catch.

C# Program to Parse JSON String Utilizando JavaScriptSerializer().Deserialize() Método

Este método pode ser implementado nas versões posteriores do .NET. Para as versões anteriores, os dois métodos acima são os melhores. Este método é utilizado para converter uma string JSON em um objeto C#.

A sintaxe correta para utilizar este método é a seguinte:

JavaScriptSerializer().Deserialize<CustomClassName>(jsonString);

Exemplo de código:

using System;
using System.Web.Script.Serialization;

class Parsing {
  static void Main() {
    var json = @"{""name"":""Olivia Mason"",""age"":19}";
    var ObjectName = new JavaScriptSerializer().Deserialize<MyInfo>(json);
    Console.WriteLine("The name is:", ObjectName.name, ".");
  }
}

class MyInfo {
  public string name { get; set; }
  public int age { get; set; }
}

Resultado:

The name is : Olivia Mason.

Artigo relacionado - Csharp JSON