직렬화(Serialization)란?
네트워크를 통해 다른 곳으로 전송할 수 있는 형식이나 파일에 저장할 수 있는 형식으로 객체를 변환하는 것을 말한다.
역직렬화(Deserialization)란?
직렬화한 데이터를 본래의 객체로 되돌리는 변환을 역직렬화라고 한다.
직렬화 종류는?
- 바이너리 직렬화
- XML 직렬화
- JSON 직렬화
JSON(Javascript Object Notation)란?
가벼운 데이터 기술 언어 중 하나이다. 자바스크립트 언어에 사용되는 객체 표기법을 기반으로 하는데 이것은 다른 언어에서도 이용할 수 있는 데이터 형식이다. JSON은 다양한 소프트웨어 간에 데이터를 주고 받을 때 유용하게 사용할 수 있다.
DataContractJsonSerializer 클래스
.NET Framework에서는 JSON 직렬화/역직렬화하는 기능을 지원해주는 클래스이다.
해당 클래스를 사용하기 위해서는 아래 두 가지 어셈블리를 프로젝트에 추가해야 한다.
- System.Xml
- System.Runtime.Serialization
DataContract / DataMember 속성
JSON의 키 이름을 소문자로 만들기 위해 직렬화의 대상이 되는 클래스에
DataContract / DataMember 속성을 이용한다.
1 2 3 4 5 6 7 8 9 10 11 | [DataContract(Name="novel")] public class Novel{ [DataMember(Name="title")] public string Title { get;set; } [DataMember(Name="author")] public string Author { get;set; } [DataMember(Name="published")] public int Published { get;set; } public override string Tostring() { ~ } } | cs |
'개발 > C#' 카테고리의 다른 글
[C#] 확장메서드 (Extension Method) (2) | 2019.08.02 |
---|---|
Http 응답 상태 코드 301? 302? 정체를 파악해보자. (5) | 2019.07.11 |
[C#] 식 본문 멤버(Expression Bodied Members) (0) | 2018.08.08 |
[C#] #if 전처리기에 대해서 알아보자. (0) | 2018.08.06 |
[C#] Linq를 이용해서 n개의 값을 random하게 추출 (0) | 2018.07.27 |