【FCL】将实体类序列化为xml,Json等格式
2014-05-10 22:54
351 查看
这里有本博客涉及到的序列化Json和Binary格式数据的Demo:点击打开链接
一、序列化成二进制格式
二、序列化成xml格式数据,请参考我的另一篇博文:点击打开链接
三、WCF-基于数据契约实体类的序列化
1、序列化为Json格式的数据:
2、序列化成xml,类似上面的例子,需要使用到的类为DataContractSerializer,这里不再赘述。
一、序列化成二进制格式
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; namespace BinarySerialization { class Program { static void Main(string[] args) { Person p = new Person() { Name = "Jhon", Age = 11 }; Person p2 = null; using (Stream objStream = new MemoryStream()) { IFormatter formatter = new BinaryFormatter(); //序列化 formatter.Serialize(objStream, p); StreamReader sr = new StreamReader(objStream); Console.WriteLine(sr.ReadToEnd()); //反序列化 objStream.Seek(0, SeekOrigin.Begin); p2 = formatter.Deserialize(objStream) as Person; } Console.WriteLine("p2.Name={0} , p2.Age={1}", p2.Name, p2.Age); } } [Serializable] class Person { public string Name { get; set; } public int Age { get; set; } } }
二、序列化成xml格式数据,请参考我的另一篇博文:点击打开链接
三、WCF-基于数据契约实体类的序列化
1、序列化为Json格式的数据:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Person p = new Person(); p.Name = "John"; p.Age = 42; MemoryStream stream1 = new MemoryStream(); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person)); ser.WriteObject(stream1, p); //显示Json格式数据 stream1.Position = 0; StreamReader sr = new StreamReader(stream1); Console.WriteLine("Json from of Person object: "); Console.WriteLine(sr.ReadToEnd()); //反序列化 stream1.Position = 0; Person p2 = (Person)ser.ReadObject(stream1); Console.WriteLine("p2.Name={0} , p2.Age={1}", p2.Name, p2.Age.ToString()); } } //必须加如下特性,否则不能序列化 [DataContract] class Person { [DataMember] public string Name { get; set; } [DataMember] public int Age { get; set; } } }
2、序列化成xml,类似上面的例子,需要使用到的类为DataContractSerializer,这里不再赘述。
相关文章推荐
- JAVA序列化标准格式(XML、JSON)
- JSON格式序列化与反序列化(List、XML)
- [ServiceStack.Text] .net序列化,反序列化组件(号称最快,支持 JSON,XML,JSV格式)
- 序列化格式:XML、JSON、YAML
- Json数据序列化对象,及对象序列化为Json格式
- 自己做的基于XML数据的JS(json格式)智能提示
- rest接口返回是比较灵活的,可以根据请求者的需求返回xml,json,string等格式
- javascript 解析ajax返回的xml和json格式的数据
- java XML转JSON格式
- 解决JSON序列化日期格式问题
- Rest中的XML与JSON的序列化与反序列化
- Unity序列化之XML,JSON--------合成与解析
- [WCF REST] 帮助页面与自动消息格式(JSON/XML)选择
- Ajax核心XMLHttpRequest对象、(发送请求、接收)方法和属性介绍、AJAX开发框架、数据格式提要(XML、JSON、HTML)
- [WEB API] CLIENT 指定请求及回应格式(XML/JSON)
- cocos2dx中.json和.plist以及.xml文件格式生成加载的不同
- 将对象序列化为json格式时遇见的问题
- JavaScriptSerializer 序列化json 时间格式-收集
- C#对XML、JSON等格式的解析 (转)
- 详解C#对XML、JSON等格式的解析