C# 구문 분석 JSON

Minahil Noor 2023년10월12일
  1. JsonConvert.DeserializeObject()를 사용하여JSON 문자열을 구문 분석하는 C# 프로그램
  2. JObject.Parse()를 사용하여JSON 문자열을 구문 분석하는 C# 프로그램
  3. JavaScriptSerializer().Deserialize()를 사용하여JSON 문자열을 구문 분석하는 C# 프로그램
C# 구문 분석 JSON

JSON (JavaScript Object Notation)은 데이터 교환을위한 형식입니다. 사람이 작성하기 쉽고 기계 처리가 더 간단합니다. C#에는 JSON 데이터를 처리하는 많은 방법이 있습니다.

이 기사에서는 JSON을 C# 객체로 구문 분석 할 수있는 방법에 대해 설명합니다.

JsonConvert.DeserializeObject()를 사용하여JSON 문자열을 구문 분석하는 C# 프로그램

JsonConvert.DeserializeObject()메소드는JsonConvert 클래스에 속합니다. JSON 문자열을 C# 객체로 변환하는 데 사용됩니다. 객체는JSON 문자열을 분석하여 생성 된 커스텀 클래스입니다.

이 방법을 사용하는 올바른 구문은 다음과 같습니다.

JsonConvert.DeserializeObject<CustomClassName>(JsonStringName);

예제 코드:

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; }
    }
  }
}

출력:

The First Name and Last Name are: Olivia Mason.

이 메소드는JSON에서 C# 객체로의 변환에 실패하면JsonSerializationException을 던집니다. 이 예외는try-catch 블록을 사용하여 처리됩니다.

JObject.Parse()를 사용하여JSON 문자열을 구문 분석하는 C# 프로그램

JObject.Parse()메소드는JObject 클래스 메소드입니다. 이 구문 분석 방법은JSON 문자열을 C# 객체로 구문 분석하는 데 사용됩니다. 그것은 그 키 값에 따라 문자열 데이터를 해석한다.그런 다음 이 키 값은 데이터를 검색하는 데 사용됩니다.

이 방법을 사용하는 올바른 구문은 다음과 같습니다.

Jobject.Parse(jsonStringName);

예제 코드:

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"], "."));
    }
  }
}

출력:

The First Name and Last Name is: Olivia Mason.

JObject.Parse()메소드는try-catch 블록을 사용하여 처리 할 수있는 예외를 발생시킵니다.

JavaScriptSerializer().Deserialize()를 사용하여JSON 문자열을 구문 분석하는 C# 프로그램

이 메소드는 이후 버전의 .NET에서 구현 될 수 있습니다. 이전 버전의 경우 위의 두 가지 방법이 가장 좋습니다. 이 메소드는 JSON 문자열을 C# 객체로 변환하는 데 사용됩니다.

이 방법을 사용하는 올바른 구문은 다음과 같습니다.

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

예제 코드:

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; }
}

출력:

The name is: Olivia Mason.

관련 문장 - Csharp JSON