개발/C#
직렬화와 역직렬화(feat.JSON)
한번사는인생.
2019. 5. 3. 14:59
직렬화(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 |