[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# ...
随机推荐
- HibernateReview Day1 - Introduction
Hibernate已经学过去大概有半个月了,然后默默的忘掉了……所谓Practice makes perfect. 我尽力重新拾起来. 1.什么是ORM 在介绍Hibernate之前,我们先学习下OR ...
- 通信协议:HTTP、TCP、UDP(转)
原文出处: 碧雪轩的博客 TCP HTTP UDP: 都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务. TCP HTTP UDP三者的关系 ...
- I深搜
<span style="color:#330099;">/* I - 深搜 基础 Time Limit:1000MS Memory Limit:10000KB 64b ...
- 设计模式10---设计模式之原型模式(Prototype)
1.场景模式 考虑这样一个实际应用:订单处理系统 里面有一个保存订单的功能,当产品数量超过1000份以后,拆成两份订单,再超,那么就再拆.直到每份订单不超过1000为止,订单有两种,一个是个人订单,一 ...
- POJ2676 Sudoku [数独]
好题,也非常有用,犯了几个错误 1.在枚举赋值的时候,思维有个错误:当当前的赋值不能填完这个数独,应该是继续下一个循环,而不是return false 终止枚举 2.Generic Programin ...
- 当执行游戏0xc000007b错误的解决方法
如图,这个错误使无数玩家烦恼. 出现这个错误,可能是硬件的问题,也可能是软件的问题.可是,因为硬件引起该问题的概率非常小,而且除了更换硬件之外没有更好的解决方法,因此本文将具体介绍怎样通过软件解决此问 ...
- uva-442 Matrix Chain Multiplication
Suppose you have to evaluate an expression like A*B*C*D*E where A,B,C,D and E are matrices. Since ma ...
- UVA 10163 Storage Keepers(两次DP)
UVA 10163 Storage Keepers(两次DP) http://uva.onlinejudge.org/index.php? option=com_onlinejudge&Ite ...
- C# WinForm多线程(二)ThreadPool 与 Timer
本文接上文,继续探讨WinForm中的多线程问题,再次主要探讨threadpool 和timer 一 ThreadPool 线程池(ThreadPool)是一种相对较简单的方法,它适应于一些需要多个 ...
- 乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
原文:乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pa ...