C#实现的json序列化和反序列化代码实例
程序员文章站
2023-11-06 21:18:58
using system;
using system.collections.generic;
using system.web.script.serializ...
using system; using system.collections.generic; using system.web.script.serialization; using system.configuration; using system.runtime.serialization.json; using system.runtime.serialization; using system.io; using system.text; namespace webapplication1 { //方法一:引入system.web.script.serialization命名空间使用 javascriptserializer类实现简单的序列化 [serializable] public class person { private int id; /// <summary> /// id /// </summary> public int id { get { return id; } set { id = value; } } private string name; /// <summary> /// 姓名 /// </summary> public string name { get { return name; } set { name = value; } } } //方法二:引入 system.runtime.serialization.json命名空间使用 datacontractjsonserializer类实现序列化 //可以使用ignoredatamember:指定该成员不是数据协定的一部分且没有进行序列化,datamember:定义序列化属性参数,使用datamember属性标记字段必须使用datacontract标记类 否则datamember标记不起作用。 [datacontract] public class person1 { [ignoredatamember] public int id { get; set; } [datamember(name = "name")] public string name { get; set; } [datamember(name = "sex")] public string sex { get; set; } } public partial class _default : system.web.ui.page { string constr = configurationmanager.connectionstrings["connstr"].connectionstring; protected void page_load(object sender, eventargs e) { person p1 = new person(); p1.id = 1; p1.name = "dxw"; person p2 = new person(); p2.id = 2; p2.name = "wn"; list<person> listperson = new list<person>(); listperson.add(p1); listperson.add(p2); javascriptserializer js = new javascriptserializer(); //json序列化 string s = js.serialize(listperson); response.write(s); //方法二 person1 p11 = new person1(); p11.id = 1; p11.name = "hello"; p11.sex = "男"; datacontractjsonserializer json = new datacontractjsonserializer(p11.gettype()); string szjson = ""; //序列化 using (memorystream stream = new memorystream()) { json.writeobject(stream, p11); szjson = encoding.utf8.getstring(stream.toarray()); response.write(szjson); } //反序列化 //using (memorystream ms = new memorystream(encoding.utf8.getbytes(szjson))) //{ // datacontractjsonserializer serializer = new datacontractjsonserializer(typeof(people)); // person1 _people = (person1)serializer.readobject(ms); //} } protected void button1_click(object sender, eventargs e) { response.write(constr); } }
上一篇: 打豆浆食谱大干货!可以天天打豆浆啦!
下一篇: 海带是发物吗,你了解么
推荐阅读
-
C#实现的json序列化和反序列化代码实例
-
Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全
-
C# .NET的BinaryFormatter、protobuf-net、Newtonsoft.Json以及自己写的序列化方法序列化效率和序列化后的文件体积大小对比
-
C#实现的序列化通用类实例
-
JS对象序列化成json数据和json数据转化为JS对象的代码
-
JS实现json的序列化和反序列化功能示例
-
C#实现JSON字符串序列化与反序列化的方法
-
重拾C#日常积累:Json数据的序列化和反序列化
-
c# .net的Newtonsoft.Json序列化和反序列化
-
C#中json字符串的序列化和反序列化