vs2013 以上的实用小功能-将xml,json自动转换为class
2015-07-14 21:48
531 查看
今天同事在处理接口的时候,为了构造出符合对方数据结构的Data,可谓是花费了大堆时间,根据json数据示例手写对应的class,无奈还总解析后数据不对,让我帮瞧瞧,这不,我立马想起了vs2013 及后续vs版本都支持的一个实用小功能-将xml,json 自动转换为class。 并且佩服微软搞的挺好用,只要将原需要反序列化成class的xml或json复制后一键就能自动生成class.
举个xml 的例子吧,需要转换的xml如下:
生成的class 如下:
大概修改下 就能用了,爽吧,json转换class 就不举例了,相同的操作,但是需要注意由于xml 自身带有部分元数据的结构信息,因此生成的class 比较接近于原class,json数据就只有数据结构了,可能会导致生成的class 与实际不符,例如如果是某个属性是个数组,但是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 不会是数组!
相关文章推荐
- Json
- 读《JavaScript高级程序设计》
- JavaScript原型与原型链分析
- String转换为JSON以及时间的格式化
- JavaScript学习笔记1:JavaScript学前介绍
- javascript俄罗斯方块小游戏
- 深入理解JavaScript原型链
- 深入理解JavaScript原型链
- Stage1 -- servlet+jsp+性能压力测试
- javascript基本概念
- json_encode只支持UTF8编码的字符
- 关于json
- JS-003-innerText 与 innerHTML 区别
- JS-002-修改元素属性(以按钮示例)
- JSPatch 热更新框架的个人评估
- JS记录笔记
- Javascript
- JS-001-单选复选按钮操作
- JSP九大内置对象和四种属性范围解读
- jstat undocumented