原文:[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. uva10635 LCS映射转LIS

    题目给定 2个序列,要我们求LCS,但是序列的长度最长是250*250, LCS的时间复杂度是O(N*N),所以无法解决 我们可以第一个序列的数字,按位置,映射为1.2.3.4.5.6.7.8.9 那 ...

  2. 设计模式——辛格尔顿(Singleton)

    要想正确理解设计模式,首先必须明白它是为了解决什么问题而提出来的. 设计模式学习笔记 --Shulin 转载请注明出处:http://blog.csdn.net/zhshulin 单例模式属于设计模式 ...

  3. 初识google多语言通信框架gRPC系列(一)概述

    gRPC概述 3/26/2016 9:16:08 AM 目录 一.概述 二.编译gRPC 三.C#中使用gRPC 四.C++中使用gRPC 一直在寻找多平台多语言的通信框架,微软的WCF框架很强大和灵 ...

  4. 工作经常使用的SQL整理,实战篇(三)

    原文:工作经常使用的SQL整理,实战篇(三) 工作经常使用的SQL整理,实战篇,地址一览: 工作经常使用的SQL整理,实战篇(一) 工作经常使用的SQL整理,实战篇(二) 工作经常使用的SQL整理,实 ...

  5. UDP议定书图像高速传输无损失程序

    下面的程序实现UDP没有图像数据的高速传输协议损耗,测试数据egtest01图片库,实现PC和图像的传输嵌入式结束.变速箱+读写速度可以达到10+M/S.考 server端程序 #include &l ...

  6. Xamarin.Android 入门实例(2)之实现WCF 寄宿于IIS 的Web服务提供

    1.WCF 契约 ICalculator.cs using System.ServiceModel; namespace Contracts { [ServiceContract] public in ...

  7. 返璞归真 asp.net mvc (9) - asp.net mvc 3.0 新特性之 View(Razor)

    原文:返璞归真 asp.net mvc (9) - asp.net mvc 3.0 新特性之 View(Razor) [索引页][源码下载] 返璞归真 asp.net mvc (9) - asp.ne ...

  8. 使用order by和rownum时特别注意

    起因 在项目中有用到某表作为数据来源,在页面以列表的形式显示.使用的数据库是Oracle,分页的时候使用到了rownum这个关键字.列表有排序功能,自然也用到了order by.接下来问题出现了,我在 ...

  9. POJ 2405 Beavergnaw (计算几何-简单的问题)

    Beavergnaw Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6203   Accepted: 4089 Descri ...

  10. 【新秀疯狂UML系列】——面向对象的技术

    从软质工作开始,我们来到与面向对象的接触,接下来的学习材料似乎已经提到了面向对象,在与她的朋友去一个.所以,我们必须知道她多一点点. 一.何为面向对象? 面向对象(Object Oriented).是 ...