[Visual Studio]透过Visual Studio 2012的选择性贴上将XML与JSON直接转成对应的类别
2014-03-30 21:22
253 查看
原文:[Visual Studio]透过Visual Studio 2012的选择性贴上将XML与JSON直接转成对应的类别
在开发专案时若碰到要串接服务或是他人的API,常常避免不了都要面对XML或是JSON这两种Data Format。以.NET的开发者来说XML这边可以直接用Linq to XML或是XPath处理掉,JSON也可以透过JSON.NET避开产生对应的类别後去解序列化。但是难免总是会有些状况我们不得不面对这样的问题,这时若是是JSON的Format很多开发者可能就会使用json2csharp去辅助产生对应的类别。
?
不过其实我们可以不需要额外的网站辅助,也不需要劳心劳力的手动去建立。因为在Visual Studio 2012中新增了选择性贴上的功能,能将剪贴簿中的XML内容直接贴成对应的类别。
?
像是以土豆为例,我们呼叫API:
http://api.tudou.com/v3/gw?method=album.channel.get&appKey=myKey&format=xml&channel=z&pageNo=1&pageSize=10
?
取得的XML会长的像下面这样:
?
这时我们就可以在Visual Studio 2012中新增个类别档案去存放对应的类别。
?
按下[Edit/Paste Special]选单内的[Paste XML As Classes]选单选项。
?
剪贴簿内的XML内容就会被贴成对应的类别,像是下图这样:
?
如果API吐回的格式是JSON格式的话就比较麻烦一点,因为Visual Studio 2012尚未将这块内建,不过你可以加装ASP.NET and Web Tools。
?
加装ASP.NET and Web Tools後,我们再次看一下[Edit/Paste Special]下的选单选项,可以看到除了本来的[Paste XML As Classes]选单选项外,又多了一个[Paste JSON As Classes]的选单选项。
?
这边一样用土豆为例,呼叫跟上面相同的API,但是将资料格式改为JSON。
http://api.tudou.com/v3/gw?method=album.channel.get&appKey=myKey&format=json&channel=z&pageNo=1&pageSize=10
?
按下[Edit/Paste Special]选单内的[Paste JSON As Classes]选单选项,可以看到如预期的Visual Studio 2012帮我们产生了对应的类别。
?
这样贴心的小功能是不是很方便呢?我们不在需要类似json2csharp这样的网站辅助开发,串接API时也只要取得API的回传值後用产生的类别解序列化,资料就可以直接透过物件下去存取。
?
这边最後一提,Web Essentials 2012也有类似的功能能辅助我们将JSON的资料转成对应的类别,有兴趣的可参阅Will保哥的影片介绍:
在开发专案时若碰到要串接服务或是他人的API,常常避免不了都要面对XML或是JSON这两种Data Format。以.NET的开发者来说XML这边可以直接用Linq to XML或是XPath处理掉,JSON也可以透过JSON.NET避开产生对应的类别後去解序列化。但是难免总是会有些状况我们不得不面对这样的问题,这时若是是JSON的Format很多开发者可能就会使用json2csharp去辅助产生对应的类别。
?
不过其实我们可以不需要额外的网站辅助,也不需要劳心劳力的手动去建立。因为在Visual Studio 2012中新增了选择性贴上的功能,能将剪贴簿中的XML内容直接贴成对应的类别。
?
像是以土豆为例,我们呼叫API:
http://api.tudou.com/v3/gw?method=album.channel.get&appKey=myKey&format=xml&channel=z&pageNo=1&pageSize=10
?
取得的XML会长的像下面这样:
?
这时我们就可以在Visual Studio 2012中新增个类别档案去存放对应的类别。
?
按下[Edit/Paste Special]选单内的[Paste XML As Classes]选单选项。
?
剪贴簿内的XML内容就会被贴成对应的类别,像是下图这样:
?
如果API吐回的格式是JSON格式的话就比较麻烦一点,因为Visual Studio 2012尚未将这块内建,不过你可以加装ASP.NET and Web Tools。
?
加装ASP.NET and Web Tools後,我们再次看一下[Edit/Paste Special]下的选单选项,可以看到除了本来的[Paste XML As Classes]选单选项外,又多了一个[Paste JSON As Classes]的选单选项。
?
这边一样用土豆为例,呼叫跟上面相同的API,但是将资料格式改为JSON。
http://api.tudou.com/v3/gw?method=album.channel.get&appKey=myKey&format=json&channel=z&pageNo=1&pageSize=10
?
按下[Edit/Paste Special]选单内的[Paste JSON As Classes]选单选项,可以看到如预期的Visual Studio 2012帮我们产生了对应的类别。
?
这样贴心的小功能是不是很方便呢?我们不在需要类似json2csharp这样的网站辅助开发,串接API时也只要取得API的回传值後用产生的类别解序列化,资料就可以直接透过物件下去存取。
?
这边最後一提,Web Essentials 2012也有类似的功能能辅助我们将JSON的资料转成对应的类别,有兴趣的可参阅Will保哥的影片介绍:
相关文章推荐
- Json或XML快速反序列化类(Visual Studio 2012以上)
- 解决Visual Studio 调试时候不够直接访问Json文件的问题
- premake4 生成 rapidjson Visual Studio 2012测试工程
- 配置文件的使用,如果要跨平台,建议直接用 xml, json, ini 或者本文档,看自己方便
- 通过Visual Studio快速生成Json或XML反序列化类代码
- Visual Studio 2012下直接调用boost_1_55_0库
- Spring MVC 后端获取前端提交的json格式字符串并直接转换成control方法对应的参数对象
- xml ,json 直接的比较 c++builder 2010
- 使用VS2013将JSON/XML数据转换为对应的数据实体
- 使用Visual Studio 快速把 Json,Xml 字符串创建为一个实体类
- kbmmw 中XML 操作入门(跨平台,而且可以与JSON,YAML,BSON 直接互相转换)
- MyEclipse 下新建Servlet后,对应的xml文件直接报错的解决办法
- 解决Visual Studio 调试时候不能直接访问.json后缀文件的问题
- ajax同步开发——json+对应的处理方式直接贴上被我滥用的代码标本吧:
- iOS 接入 芝麻信用 iOS开发-Xcode-OC_JSON_Plugin-将Json直接转成模型对应属性 iOS开发-直播APP常用动画效果
- 软考专业类别、资格名称和级别层次对应表以及2012报考事项
- 从SYS.XMLTYPE类型的column中,直接读取xpath所对应节点或者属性的值
- JSON转XML及反射调用对应的方法
- 【其他】Activity中通过 ctrl+鼠标单击 直接链接到对应的xml布局文件,而不是打开R文件。