직렬화(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


+ Recent posts