[Visual Studio]透过Visual Studio 2012的选择性贴上将XML与JSON直接转成对应的类别
原文:[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:
?
取得的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。
?
按下[Edit/Paste Special]选单内的[Paste JSON As Classes]选单选项,可以看到如预期的Visual Studio 2012帮我们产生了对应的类别。
![]()
?
这样贴心的小功能是不是很方便呢?我们不在需要类似json2csharp这样的网站辅助开发,串接API时也只要取得API的回传值後用产生的类别解序列化,资料就可以直接透过物件下去存取。
?
这边最後一提,Web Essentials 2012也有类似的功能能辅助我们将JSON的资料转成对应的类别,有兴趣的可参阅Will保哥的影片介绍:

[Visual Studio]透过Visual Studio 2012的选择性贴上将XML与JSON直接转成对应的类别的更多相关文章
- 推荐SQL Server Management Studio以及Visual Studio下的免费的插件 ApexSQL Complete
SQL Server 并没有代码格式化的工具,对于处理他人编写的长SQL需要手工的格式化是一件麻烦的事情. 推荐SQL Server Management Studio以及Visual Studio下 ...
- Co-Debugging JNI with Android Studio and Visual Studio
Tutorials > Android > Integration with other tools > Co-Debugging JNI with Android Studio a ...
- Visual Studio 与 Visual C++ 关系
Visual Studio .net Visual C++ .net Visual C++ _MSC_VER 备注 Visual Studio .net 2002 Visual C++ .net ...
- visual studio 和visual studio code 的区别是什么?
区别有三: 区别一:含义不一样. Visual Studio(简称VS)是美国微软公司的开发工具包系列产品,是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码 ...
- 利用Vistual Studio自带的xsd.exe工具,根据XML自动生成XSD
利用Vistual Studio自带的xsd.exe工具,根据XML自动生成XSD 1, 命令提示符-->找到vs自带的xsd.exe工具所在的文件夹 例如: C:\Program Files ...
- 【Android应用开发】Android Studio 简介 (Android Studio Overview)
一. Intelij IDEA 环境简介 Android Studio 来源 : Android Studio 是 Intelij IDEA 的免费版本 + Android SDK 集成的; -- I ...
- [Visual Studio] 开启Visual Studio 2012通过右键菜单创建单元测试(Unit Test)
Visual Studio 2012可以说是迄今为止微软VS开发工具中用户体验最好的产品,无论是速度还是体验以及功能,都非常出色,但是,使用了一段时间后发现有一个之前版本VS都有的功能却在Visual ...
- 如何在Visual Studio(VS)2012里使用libsvm工具箱
原文:http://blog.csdn.net/u014691453/article/details/40393137 软件版本: Visual Studio版本:VS2012 (注:使用方法在 VS ...
- visual studio 2013快捷键与2012不同
升级了Visual Studio2013后发现有些快捷键不能使用,于是自己尝试设置找回,还真给发现了: 依次选择(工具-->选项-->环境-->键盘)把映射方案改成Visual C# ...
随机推荐
- It's only too late if you decide it is. Get busy living, or get busy dying(转)
我们的身边是不是有这样的一群人,他们心肠不坏,容易感伤,但吐槽似乎是常有的事情,看着时下电视电影,说起哪些哪些自己的泪点.一般都是吃货,别人失眠的时候,TA可能在回忆自己刚做了什么梦.我不是要去评论这 ...
- Angularjs 基于karma和jasmine的单元测试
目录: 1. 单元测试的配置 2. 实例文件目录解释 3. 测试controller 3.1 测试controller中变量值是否正确 3.2 模拟http请求返回值,测试$http服 ...
- HP服务器更换主板前后的注意事项
问题 X86服务器免不了会出现故障,以我们实验室使用的HP服务器为例,已经有几台因为各种故障更换过主板了,更换主板前后有些事情需要我们应该注意或处理, 这里记录如下,其中第二.三点是针对我们所使用的C ...
- java打印各种菱形
/** * 类说明 * * @author 曾修建 * @version 创建时间:2014-7-23 上午09:50:46 */ public class Diamond { public stat ...
- 【原创】只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(四)
全系列Index: [原创]只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(一) [原创]只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(二) [原创]只学到二维数组和结构体,不用链表也能 ...
- QEMU-KVM自己主动创建虚拟机,以指定IP构造
正在使用qemu不能指定创建虚拟机的过程IP住址,然而,在实际应用中,我们需要有一台虚拟机IP住址,不是人为的虚拟机操作系统配置. 于qemu虚拟机技术文档(http://qemu.weilnetz. ...
- SSh框架结构(Struts2.1+Hibernate4.0+Spring3.1)
一个.使用的工具 开发工具:My Eclipse 10.7以及对应的java开发工具 框架版本号:Struts2.1+Hibernate3+Spring3.0 数据库:MySql5.5 Mysql可视 ...
- [Android]Can't create handler inside thread that has not called Looper.prepare()
更新是由于在新的线程来打开UI只有一个错误.子线程更新主线程UI需要使用Handler. 还有比如今天出现以下错误.码,如以下: send.setOnClickListener(new OnClick ...
- 解决linux看温度是报错No sensors found问题
今日因为同事的linuxserver频繁死机,其型号和配置与我的一致,故此与其对照了一下server的内存使用率.CPU使用率.温度等信息. 在对照温度信息的时候发现无法使用sensors进行温度查看 ...
- Android UI - 实现广告Banner旋转木马效果
Android UI - 实现广告Banner旋转木马效果 前言 本篇博客要分享的一个效果是实现广告Banner轮播效果,这个效果也比較常见,一些视频类应用就常常有,就拿360影视大全来举例吧: 用红 ...