在C# WCF中,JSON(JavaScript Object Notation)是一种常用的数据格式。JSON是一种轻量级的数据交换格式,易于读写和理解。它是一种文本格式,可以在不同的编程语言和平台之间进行数据交换。
在WCF中,我们可以使用DataContractJsonSerializer类将.NET对象序列化为JSON格式的字符串。以下是一个使用DataContractJsonSerializer将.NET对象序列化为JSON的示例:
//定义一个.NET对象 [DataContract] public class Person { [DataMember] public string Name { get; set; } [DataMember] public int Age { get; set; } } //将.NET对象序列化为JSON Person person = new Person { Name = "Tom", Age = 20 }; DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Person)); MemoryStream ms = new MemoryStream(); serializer.WriteObject(ms, person); string jsonString = Encoding.UTF8.GetString(ms.ToArray()); Console.WriteLine(jsonString);
这个例子中,我们定义了一个名为Person的.NET对象,包含Name和Age两个属性。然后,我们使用DataContractJsonSerializer将这个对象序列化为JSON格式的字符串,并输出到控制台。
类似地,我们也可以使用DataContractJsonSerializer将JSON字符串反序列化为.NET对象。以下是一个使用DataContractJsonSerializer将JSON字符串反序列化为.NET对象的示例:
//将JSON字符串反序列化为.NET对象 string jsonString = "{\"Name\":\"Tom\",\"Age\":20}"; DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Person)); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)); Person person = serializer.ReadObject(ms) as Person; Console.WriteLine(person.Name); Console.WriteLine(person.Age);
在这个例子中,我们使用DataContractJsonSerializer将JSON格式的字符串反序列化为.NET对象。我们首先定义了一个JSON字符串,然后使用DataContractJsonSerializer将它反序列化为Person对象,并将其输出到控制台。
总而言之,JSON是一种广泛使用的数据格式,可以在不同的编程语言和平台之间轻松交换数据。在WCF中,我们可以使用DataContractJsonSerializer轻松地将.NET对象序列化为JSON格式的字符串,并将JSON字符串反序列化为.NET对象。