Share via


JSON Serialization

이 샘플에서는 DataContractJsonSerializer를 사용하여 JavaScript Object Notation(JSON) 형식으로 데이터를 serialize 및 deserialize하는 방법을 보여 줍니다. 이 serialization 엔진에서는 JSON 데이터를 .NET Framework 형식의 인스턴스로 변환하고 다시 JSON 데이터로 변환합니다. DataContractJsonSerializer에서는 DataContractSerializer와 같은 형식을 지원합니다. JSON 데이터 형식은 AJAX(Asynchronous JavaScript and XML) 스타일 웹 응용 프로그램을 작성하는 경우에 특히 유용합니다. WCF(Windows Communication Foundation)의 AJAX 지원은 ScriptManager 컨트롤을 통해 ASP.NET AJAX와 함께 사용하도록 최적화되었습니다. ASP.NET AJAX에 WCF(Windows Communication Foundation)를 사용하는 방법의 예는 AJAX 샘플을 참조하십시오.

참고

이 샘플을 빌드하고 실행하려면 .NET Framework 버전 3.5를 설치해야 하고, 프로젝트 및 솔루션 파일을 열려면 Visual Studio 2008이 필요합니다.

참고

이 샘플의 설치 절차 및 빌드 지침은 이 항목의 끝부분에 나와 있습니다.

샘플에서는 Person 데이터 계약을 사용하여 serialization 및 deserialization을 보여 줍니다.

[DataContract]
    class Person
    {
        [DataMember]
        internal string name;

        [DataMember]
        internal int age;
    }

Person 형식의 인스턴스를 JSON으로 serialize하려면 먼저 DataContractJsonSerializer를 만들고 WriteObject 메서드를 사용하여 스트림에 JSON 데이터를 기록합니다.

Person p = new Person();
//Set up Person object...
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);

메모리 스트림에는 유효한 JSON 데이터가 포함되어 있습니다.

{“age”:42,”name”:”John”}

샘플에서는 JSON 데이터에서 개체로의 deserialization을 보여 줍니다. 그 후에 스트림을 되감고 ReadObject를 호출합니다.

Person p2 = (Person)ser.ReadObject(stream1);

p2 개체를 확인하면 JSON 데이터가 올바르게 deserialize된 것을 알 수 있습니다.

샘플을 설치, 빌드 및 실행하려면

  1. Windows Communication Foundation 샘플 빌드에 설명된 대로 JsonSerialization.sln 솔루션을 빌드합니다.

  2. 결과 콘솔 응용 프로그램을 실행합니다.

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.