原文:[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保哥的影片介绍:

[Visual Studio]透过Visual Studio 2012的选择性贴上将XML与JSON直接转成对应的类别的更多相关文章

  1. 推荐SQL Server Management Studio以及Visual Studio下的免费的插件 ApexSQL Complete

    SQL Server 并没有代码格式化的工具,对于处理他人编写的长SQL需要手工的格式化是一件麻烦的事情. 推荐SQL Server Management Studio以及Visual Studio下 ...

  2. Co-Debugging JNI with Android Studio and Visual Studio

    Tutorials > Android > Integration with other tools > Co-Debugging JNI with Android Studio a ...

  3. Visual Studio 与 Visual C++ 关系

      Visual Studio .net Visual C++ .net Visual C++ _MSC_VER 备注 Visual Studio .net 2002 Visual C++ .net ...

  4. visual studio 和visual studio code 的区别是什么?

    区别有三: 区别一:含义不一样. Visual Studio(简称VS)是美国微软公司的开发工具包系列产品,是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码 ...

  5. 利用Vistual Studio自带的xsd.exe工具,根据XML自动生成XSD

    利用Vistual Studio自带的xsd.exe工具,根据XML自动生成XSD 1, 命令提示符-->找到vs自带的xsd.exe工具所在的文件夹 例如: C:\Program Files ...

  6. 【Android应用开发】Android Studio 简介 (Android Studio Overview)

    一. Intelij IDEA 环境简介 Android Studio 来源 : Android Studio 是 Intelij IDEA 的免费版本 + Android SDK 集成的; -- I ...

  7. [Visual Studio] 开启Visual Studio 2012通过右键菜单创建单元测试(Unit Test)

    Visual Studio 2012可以说是迄今为止微软VS开发工具中用户体验最好的产品,无论是速度还是体验以及功能,都非常出色,但是,使用了一段时间后发现有一个之前版本VS都有的功能却在Visual ...

  8. 如何在Visual Studio(VS)2012里使用libsvm工具箱

    原文:http://blog.csdn.net/u014691453/article/details/40393137 软件版本: Visual Studio版本:VS2012 (注:使用方法在 VS ...

  9. visual studio 2013快捷键与2012不同

    升级了Visual Studio2013后发现有些快捷键不能使用,于是自己尝试设置找回,还真给发现了: 依次选择(工具-->选项-->环境-->键盘)把映射方案改成Visual C# ...

随机推荐

  1. Mysql学习笔记(二)数据类型 补充

    原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...

  2. Windows Phone开发(22):启动器与选择器之BingMapsDirectionsTask

    原文:Windows Phone开发(22):启动器与选择器之BingMapsDirectionsTask 从今天开发始,我们又开始新的征程,接下来的课程我们要熟悉一下启动器和选择器,其实二者是一样的 ...

  3. BZOJ 2783 JLOI 2012 树 乘+二分法

    标题效果:鉴于一棵树和一个整数s,问中有树木几个这样的路径,点和担保路径==s,深度增量点. 这一数额的输出. 思维:用加倍的想法,我们可以O(logn)在时间找点他第一n.因为点权仅仅能是正的,满足 ...

  4. 凝视条件推断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>

    <!--[if !IE]><!--> 除IE外可识别 <!--<![endif]--> <!--[if IE]> 所有的IE可识别 <![e ...

  5. js+html+css简单的互动功能页面(2015知道几乎尖笔试题)http://v.youku.com/v_show/id_XMTI0ODQ5NTAyOA==.html?from=y1.7-1.2

    js+html+css实现简单页面交互功能(2015知乎前端笔试题) http://v.youku.com/v_show/id_XMTI0ODQ5NTAyOA==.html? from=y1.7-1. ...

  6. T-SQL基础(5) - 表表达式

    1.派生表(derived table)select YEAR(orderdate) as orderyear, COUNT(distinct custid) as numcustsfrom Sale ...

  7. LeerCode 123 Best Time to Buy and Sell Stock III之O(n)解法

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  8. AIX 7.1 install python

    周围环境AIX7.1   设备python-2.6.2  因为互联网是非常多的安装文档.而且也没有细挑的版本号.因为我觉得python2.6 可能相对保守一些,至少之前用到的版本号是这个.所以此处依旧 ...

  9. udacity android 学习笔记: lesson 4 part b

    udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...

  10. oracle存储过程的例子

    oracle存储过程的例子 分类: 数据(仓)库及处理 2010-05-03 17:15 1055人阅读 评论(2)收藏 举报 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的 ...