JSON을 C# 클래스로 변환하는 방법

Jsoneul C Keullaeseulo Byeonhwanhaneun Bangbeob



JSON 또는 자바스크립트 객체 표기법 JavaScript 프로그래밍 언어의 하위 집합을 기반으로 하지만 언어 독립적이며 JSON 파서가 있는 모든 프로그래밍 언어와 함께 사용할 수 있습니다. 사용 JSON C# 프로그래밍에서 데이터를 변환해야 합니다. JSON ~에게 C# 클래스 . 이를 통해 프로그래머는 유형이 안전한 방식으로 데이터와 상호 작용할 수 있으므로 실수의 위험이 줄어들고 코드를 유지 관리하기가 더 간단해집니다.

작업 JSON C#의 데이터는 종종 JSON 데이터 ~ 안으로 C# 수업 응용 프로그램에서 쉽게 편집하고 사용할 수 있습니다. 이 자습서에서는 변환 프로세스를 살펴봅니다. JSON 그 과정에서 도움이 되는 코드 예제와 함께 데이터를 C# 클래스로 변환합니다.

JSON을 C# 클래스로 변환하는 방법

변환하는 단계 JSON ~에게 C# 클래스 이다:

1단계: JSON 데이터 분석

변환의 첫 단계 JSON ~에게 C# 클래스 JSON 데이터를 분석하고 그 구조를 결정하는 것입니다. 여기에는 데이터의 키 또는 속성과 해당 데이터 유형을 식별하는 작업이 포함됩니다. 이 정보가 수집되면 JSON 데이터를 나타내는 해당 C# 클래스를 생성할 수 있습니다.

2단계: JSON 데이터를 나타내는 C# 클래스 만들기

그만큼 JSON 그런 다음 데이터 이름을 사용하여 클래스를 정의합니다. 이 클래스 내에서 키와 일치하는 속성을 정의합니다. JSON 데이터. 속성의 데이터 유형을 값의 데이터 유형과 일치하도록 설정합니다. JSON 데이터. 예를 들어, JSON 데이터에 문자열 값이 있으면 C# 클래스에서 해당 속성을 문자열로 정의합니다.

3단계: JSON 데이터 역직렬화

C# 클래스를 만든 후 다음 단계는 클래스를 역직렬화하는 것입니다. JSON 데이터를 클래스 인스턴스로 이것은 가능합니다 Newtonsoft.Json 역직렬화를 위한 간단한 API를 제공하는 라이브러리 JSON 데이터. 를 설치하고 가져와야 합니다. Newtonsoft.Json 코드에서 사용하기 위해 패키지. 의 인스턴스를 생성합니다. JsonSerializer 클래스를 호출 역직렬화 방법, 전달 JSON 데이터는 문자열로, C# 클래스는 일반 유형 매개변수로:

Newtonsoft.Json 사용;

// JSON 데이터
문자열 json = '{' 이름 ':' 존 스미스 ',' 나이 ':30}' ;
// # 수업
공개 클래스 사람
{
공개 문자열 이름 { 얻다; 세트 ; }
공개 연령 { 얻다; 세트 ; }
}
// JSON 데이터를 Person 개체로 역직렬화
사람 사람 = JsonConvert.DeserializeObject < 사람 > ( json ) ;

그만큼 JSON 이 예제의 데이터는 name 및 age 속성이 있는 간단한 개체이고 C# 클래스는 비슷한 속성이 있는 Person 클래스입니다. JsonConvert.DeserializeObject 변환하는 데 사용됩니다 JSON 응용 프로그램에서 편집하고 사용할 수 있는 Person 객체로 데이터를 변환합니다.

4단계: C# 개체 조작

역 직렬화 후 JSON 데이터 C# 객체 , 응용 프로그램에서 원하는 대로 조작 및 사용할 수 있습니다. 속성을 읽거나 설정할 수 있고 메서드를 호출할 수 있으며 개체를 다른 프로시저나 함수에 매개 변수로 제공할 수 있습니다.

다음은 사람 이전 단계에서 만든 객체:

// 사람을 잡아 이름
문자열 이름 = 사람.이름;

// 사람 설정'
나이
사람.나이 = 31 ;

// 사람 개체에 대한 메서드 호출
person.PrintDetails ( ) ;

이 예제에서는 사람 개체를 사용하여 사람의 이름을 가져오고, 나이를 설정하고, PrintDetails 개체에 대한 메서드입니다.

다음은 방법을 보여주는 전체 코드입니다. JSON을 C# 클래스로 변환 .

시스템 사용;
Newtonsoft.Json 사용;

네임스페이스 JsonToClassExample
{
수업 프로그램
{
정적 무효 메인 ( [ ] 인수 )
{
문자열 json = @ '{
'firstName': '래리',
'lastName': '케빈',
'주소': {
'거리': '메인 스트리트',
'도시': '베니스',
}
}'
;

Rootobject myObject = JsonConvert.DeserializeObject < 루트객체 > ( json ) ;

콘솔.쓰기줄 ( '이름은: ' + myObject.firstName ) ;
콘솔.쓰기줄 ( '성:' + myObject.lastName ) ;
콘솔.쓰기줄 ( '거리는: ' + myObject.address.street ) ;
콘솔.쓰기줄 ( '도시는: ' + myObject.address.city ) ;


콘솔.ReadLine ( ) ;
}
}

공개 클래스 Rootobject
{
공개 문자열 이름 { 얻다; 세트 ; }
공개 문자열 성 { 얻다; 세트 ; }
공개 주소 주소 { 얻다; 세트 ; }
}

공개 클래스 주소
{
공공 문자열 거리 { 얻다; 세트 ; }
공공 문자열 도시 { 얻다; 세트 ; }
}
}

위의 코드는 사용 방법을 보여줍니다. Newtonsoft.Json NuGet 패키지 에게 직렬화 해제 JSON 문자열을 C# 클래스로 . JSON 문자열은 사람의 이름과 성, 주소(거리 및 도시)에 대한 정보로 구성됩니다. C# 클래스인 Rootobject 및 Address 클래스는 JSON 데이터의 구조를 설정합니다.

그만큼 JsonConvert.DeserializeObject 메소드는 JSON 문자열을 루트객체 사례. 그런 다음 데이터는 다음 속성에 액세스하여 콘솔에 표시됩니다. 루트객체 및 주소 클래스. 그만큼 콘솔.ReadLine 메소드는 종료되기 전에 프로그램을 정지시키는 데 사용됩니다.

산출

JSON을 C#으로 변환하는 다른 방법

다음을 복사할 수도 있습니다. JSON 데이터를 클립보드에 저장하고 JSON에서 C# 클래스 생성기로 C# 클래스를 생성합니다. 온라인에는 다음과 같은 여러 도구가 있습니다. Json2C샤프 그리고 퀵타입 에서 C# 클래스를 생성하는 데 도움이 될 수 있습니다. JSON 데이터. 붙여넣기 JSON 적절한 필드에 데이터를 입력하고 도구에서 자동으로 C# 클래스를 생성하도록 합니다. 이 접근 방식은 간단하고 빠릅니다. 그러나 학습을 위해서는 첫 번째 방법을 따라야 합니다.

결론

JSON 데이터를 C# 클래스로 변환 분석하는 것을 포함한다 JSON 데이터, 해당 C# 클래스 생성 및 JSON 데이터를 C# 클래스 개체로 역직렬화합니다. 이 프로세스는 작업할 때 유용할 수 있습니다. JSON C# 애플리케이션의 데이터를 사용하여 데이터를 더 쉽게 읽고 조작하고 웹 서비스 또는 API로 보낼 수 있습니다. 신속하게 번역하려면 JSON에서 C#으로 , 다음과 같은 여러 웹 도구를 활용할 수도 있습니다. Json2C샤프 그리고 퀵타입 .