JSON 序列化

這個範例示範如何使用 DataContractJsonSerializer 以序列化與還原序列化使用 JavaScript Object Notation (JSON) 格式的資料。這個序列化引擎會將 JSON 資料轉換為 .NET Framework 型別的執行個體,以及轉換回 JSON 資料。DataContractJsonSerializerDataContractSerializer 支援相同的型別。當撰寫 Asynchronous JavaScript and XML (AJAX) 型 Web 應用程式時,JSON 資料格式特別有用。Windows Communication Foundation (WCF) 中的 AJAX 支援已針對透過 ScriptManager 控制項來搭配 ASP.NET AJAX 使用完成最佳化。如需如何搭配 ASP.NET AJAX 使用 Windows Communication Foundation (WCF) 的範例,請參閱 AJAX 範例

Bb410770.note(zh-tw,VS.90).gif注意:
要建置及執行這個範例,必須安裝 .NET Framework version 3.5。要開啟專案及方案檔,必須要有 Visual Studio 2008。

Bb410770.note(zh-tw,VS.90).gif注意:
此範例的安裝程序與建置指示位於本主題的結尾。

此範例會使用 Person 資料合約以示範序列化與還原序列化。

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

        [DataMember]
        internal int age;
    }

若要將 Person 型別的執行個體序列化為 JSON,請先建立 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 資料還原序列化為物件。接下來,您要倒轉資料流並呼叫 ReadObject

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

檢查 p2 物件,便可顯示 JSON 資料是否已正確地還原序列化。

若要設定、建置及執行範例

  1. 使用建置 Windows Communication Foundation 範例中描述的方式建置方案 JsonSerialization.sln。

  2. 執行產生的主控台應用程式。

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