vs2013 以上的实用小功能-将xml,json自动转换为class

来源:互联网 发布:手机淘宝店怎么改店名 编辑:程序博客网 时间:2024/05/22 04:54

      今天同事在处理接口的时候,为了构造出符合对方数据结构的Data,可谓是花费了大堆时间,根据json数据示例手写对应的class,无奈还总解析后数据不对,让我帮瞧瞧,这不,我立马想起了vs2013 及后续vs版本都支持的一个实用小功能-将xml,json 自动转换为class。 并且佩服微软搞的挺好用,只要将原需要反序列化成class的xml或json复制后一键就能自动生成class.

      举个xml 的例子吧,需要转换的xml如下:

    

<note><to>George</to><from>John</from><heading>Reminder</heading><body>Don't forget the meeting!</body></note>
   复制后在需要添加这个class的 地方 点击vs 编辑->选择性粘贴



生成的class 如下:

/// <remarks/>[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)][System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]public partial class note{    private string toField;    private string fromField;    private string headingField;    private string bodyField;    /// <remarks/>    public string to    {        get        {            return this.toField;        }        set        {            this.toField = value;        }    }    /// <remarks/>    public string from    {        get        {            return this.fromField;        }        set        {            this.fromField = value;        }    }    /// <remarks/>    public string heading    {        get        {            return this.headingField;        }        set        {            this.headingField = value;        }    }    /// <remarks/>    public string body    {        get        {            return this.bodyField;        }        set        {            this.bodyField = value;        }    }}

大概修改下 就能用了,爽吧,json转换class 就不举例了,相同的操作,但是需要注意由于xml 自身带有部分元数据的结构信息,因此生成的class 比较接近于原class,json数据就只有数据结构了,可能会导致生成的class 与实际不符,例如如果是某个属性是个数组,但是json中只有一个数据,就容易导致生成的class 不会是数组!

0 0
原创粉丝点击