参考
JavaScriptSerializer,一般用来做JSON格式化
http://msdn.microsoft.com/zh-cn/library/system.web.script.serialization.javascriptserializer.aspx

http://msdn.microsoft.com/zh-cn/library/system.web.script.serialization.javascriptconverter.aspx

DataContractSerializer,可以用来做XML,JSON格式化,可以将格式化内容直接写入流
http://msdn.microsoft.com/zh-cn/library/system.runtime.serialization.datacontractserializer.aspx

代码片段:

View Code

//**************序列化实体**********************using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Xml.Serialization;

namespace PM.WebForm.common{///<summary>/// 服务器列表///</summary>    [XmlRoot("Root")]public class serverlist    {///<summary>/// 服务器IP///</summary>        [XmlAttribute("serverip")]public string serverip { set; get; }///<summary>/// 服务器域名,如http://www.163.com////</summary>        [XmlAttribute("server_url")]public string server_url { set; get; }///<summary>/// s_key,服务器间加密s_key,很重要///</summary>        [XmlAttribute("s_key")]public string s_key { set; get; }///<summary>/// 合作编号///</summary>        [XmlAttribute("pid")]public string pid { set; get; }///<summary>/// 注册渠道ID///</summary>        [XmlAttribute("sid")]public string sid { set; get; }///<summary>/// 服务器充值接口url///</summary>        [XmlAttribute("server_pay_url")]public string server_pay_url { set; get; }///<summary>/// 服务器登陆接口///</summary>        [XmlAttribute("server_login_url")]public string server_login_url { set; get; }///<summary>/// 服务器ID号,用来唯一标识///</summary>        [XmlAttribute("serverid")]public string serverid { set; get; }///<summary>/// 第几区///</summary>        [XmlAttribute("area")]public string area { set; get; }///<summary>/// 第几服///</summary>        [XmlAttribute("fu")]public string fu { set; get; }///<summary>/// 显示名称///</summary>        [XmlAttribute("showname")]public string showname { set; get; }///<summary>/// 详细介绍///</summary>        [XmlAttribute("detail")]public string detail { set; get; }

///<summary>/// 君主排行///</summary>        [XmlAttribute("xml1")]public string xml1 { set; get; }

///<summary>/// 联盟排行///</summary>        [XmlAttribute("xml2")]public string xml2 { set; get; }

    }}//*************序列化帮助类*************using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Xml.Serialization;using System.IO;using System.Runtime.Serialization;using System.Text;using System.Xml;

///<summary>///序列化与反序列化对象///</summary>public class Serializator{

public static string SerializeLinqList<T>(List<T> list)    {

        DataContractSerializer dcs = new DataContractSerializer(typeof(List<T>));

        StringBuilder sb = new StringBuilder();

using (XmlWriter writer = XmlWriter.Create(sb))        {

            dcs.WriteObject(writer, list);

        }

return sb.ToString();

    }

public static List<T> DeserializeLinqList<T>(string xml)    {

        List<T> list;        DataContractSerializer dcs = new DataContractSerializer(typeof(List<T>));using (XmlReader reader = XmlReader.Create(new StringReader(xml)))        {

            list = dcs.ReadObject(reader) as List<T>;

        }

if (list == null) list = new List<T>();

return list;

    }

}

DataContractSerializer进行JSON格式化

View Code

    [DataContract]public class DataTreeNode<T> where T: new()    {        [DataMember]public T Data { get; set; }        [DataMember]public List<DataTreeNode<T>> Children { get; set; }public DataTreeNode()        {            Data = new T();            Children = new List<DataTreeNode<T>>();        }public DataTreeNode(T data)        {            Data = data;            Children = new List<DataTreeNode<T>>();        }

public DataTreeNode<T> Parent { get; set; }///<summary>/// 子类中标记为Enabled的节点数///</summary>        public int EnabledChildCount { get; set; }

    }public static class Extensions    {///<summary>/// 序列化UTF-8///</summary>///<param name="item"></param>///<returns></returns>        public static string ToJson(this object item)        {            DataContractJsonSerializer serializer = new DataContractJsonSerializer(item.GetType());using (MemoryStream ms = new MemoryStream())            {                serializer.WriteObject(ms, item);                StringBuilder sb = new StringBuilder();                sb.Append(Encoding.UTF8.GetString(ms.ToArray()));return sb.ToString();            }        }

    }

javaScriptSerializer进行Json格式化(导入命名空间:System.Web.Script.Serialization;)

View Code

            JavaScriptSerializer serializer = new JavaScriptSerializer();            AreaClassManager manager = OB.R<AreaClassManager>();var area = manager.Query("ClassId,ClassName,Code");             List<AreaClass> model = new List<AreaClass>();            area.ForEach(ent =>            {string code = ent.Code.Length != 4 ? (ent.Code.Substring(0, ent.Code.Length - 4)) : "0001";int level = ent.Code.Length / 4;                model.Add(new AreaClass                {                    I = ent.ClassID,                    C = ent.ClassName,                    P = manager.GetModelList("Code='" + code + "'")[0].ClassID,                    L=level                });

            });

return Content("var G_AreaList=" + serializer.Serialize(model));

转载于:https://www.cnblogs.com/wdfrog/archive/2011/11/08/2240657.html

几个用于序列化的代码片段相关推荐

  1. 那些html编辑器有代码片段6,VS Code 折腾记 - (6) 基本配置/快捷键定义/代码片段的录入(snippet)...

    前言 本来分成三篇来写的,但是想了想没必要,大家都是聪明人...简单的东西点一下就晓得了. 基本配置 快捷键自定义(Ctrl+K Ctrl + S) 那个when支持条件表达式返回一个布尔值 支持的快 ...

  2. 分享.NET开发中经常使用到的代码片段 完全从实际项目中提取出来,也可被反反复复的重复借用...

    几年前,一篇<ASP.NET开发人员经常使用的三十三种代码>非常流行,它总结了一些经常在ASP.NET开发中使用到的代码,直接可以拿来使用.今天重读这篇文章,有感而发,善于总结也是进步,于 ...

  3. php编程神器,PHP代码神器 十个PHP代码片段超极好用

    PHP开发中敲代码是最能磨练人意志的,面对枯燥的代码有些人感兴趣,然而有些人不耐烦,面对如此多的代码总想着可以复制粘贴,以提高效率.PHP代码有这种功能,今天小编给大家推荐一些PHP代码神器,十个超极 ...

  4. 初学者怎样看懂python代码_新手入门必看,最常用的Python代码片段

    对于编程开发人员来讲,Python语法一开始可能看起来很奇怪.如果我们看到Python使用其他编程语言(例如Java)完成常见的工作,那会不会很意思?我们常见的代码片段称为"代码惯用法&qu ...

  5. php常用的十个代码片段,转载

    为什么80%的码农都做不了架构师?>>>            PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言.PHP拥有数以百计的基本功能,支持 ...

  6. 30秒内便能学会的30个超实用Python代码片段

    许多人在数据科学.机器学习.web开发.脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言. Python流行的部分原因在于简单易学. 本文将简要介绍30个简短的.且能在30秒内掌握 ...

  7. 对文本根据特殊字符进行分段代码_如何优雅地配置快应用的代码片段

    本文使用 Zhihu On VSCode 创作并发布 作为一名程序员,在编码的过程中,难免会遇到要写些重复性的代码:假如每次都重新码一遍,既浪费了时间,也有伤身体.倘若可以配置一个像快捷键一样,输入简 ...

  8. C#-代码片段的使用(1) 039

    代码片段是现成的代码段,可快速插入到代码中.例如,for代码片段可创建一个空for循环. 代码片段 用法:在编辑区域的Main方法中,输入f/fo/for都可以不过输入前两个可能需要在显示的下拉框中寻 ...

  9. Visual Studio 的代码片段(Code Snippet)功能

    1.概述 在 Visual Studio 中,有一个快捷编辑代码的功能,比如当我们在 VS 编辑器(C#)中写出 关键字 foreach 后,敲击一下 Tab 键,VS 就帮我们自动补全:(插入代码段 ...

最新文章

  1. python jieba 文本相似度_文本相似度分析(基于jieba和gensim)
  2. 第一个 python for maya
  3. 除了清空购物车,阿里年会的技术也够霸气!
  4. #17# SCCM管理 - 软件中心 VS 应用程序目录网站点
  5. 网络协议:TCP/IP、SOCKET、HTTP
  6. Unity3D入门其实很简单
  7. flask 配置静态文件模板文件
  8. 大连理工大学计算机视觉实验室,首个镜子分割网络问世,大连理工、鹏城实验室、香港城大出品 | ICCV 2019...
  9. mac 二进制安装mysql_教程方法;在mac下安装mysql二进制分发版的方法(不是dmg的)电脑技巧-琪琪词资源网...
  10. “科创赋能 资本助力”2019SIPEF论坛启幕
  11. C# 通过Http获取网页内容
  12. 如何把晨光计算机调成音乐模式,伴着晨光走向你——广播《晨光音乐行》栏目运作心得...
  13. Shell之判断周几
  14. 基于processing的《代码本色》应用拓展——表现随机行为及牛顿运动学
  15. 有一种女人,她们并不漂亮,但看上去却很舒服!
  16. 分割评价指标MIOU
  17. 深度linux 修复命令,修复启动
  18. 你好啊 未来的自己
  19. 大数据精准投放平台_大数据精准营销+全媒体精准投放+信息流广告=真实有效得客户...
  20. MobTech受邀参与华为开发者联盟沙龙,谈数据智能撬动增长

热门文章

  1. javascript --- 作用域和闭包
  2. 测试开发面试准备之Selenium 工作原理
  3. 总结界面框架_UI_Adapter
  4. VI编辑器的基本使用
  5. HDbaseT 高清传输更简单——只需一根网线
  6. U-boot中TFTP 解释
  7. 计算机系统结构——概述
  8. C# 修改项目文件夹名称完全版
  9. Atmel megaAVR控制器 串行引导Bootloader
  10. 成都计算机中心起名,成都给宝宝起名的地方哪里好