共用方式為


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 Samples

Bb410770.note(zh-tw,VS.100).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 資料是否已正確地還原序列化。

Bb410770.Important(zh-tw,VS.100).gif 注意:
這些範例可能已安裝在您的電腦上。 請先檢查下列 (預設) 目錄,然後再繼續。

<InstallDrive>:\WF_WCF_Samples

如果此目錄不存在,請移至用於 .NET Framework 4 的 Windows Communication Foundation (WCF) 與 Windows Workflow Foundation (WF) 範例 (英文),以下載所有 Windows Communication Foundation (WCF) 和 WF 範例。 此範例位於下列目錄。

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Ajax\JsonSerialization

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

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

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