C# 구문 분석 JSON

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

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

  • C# 객체를 JSON 문자열로 변환