作者:asp.net | 时间:2014-1-4 23:36:41 | [小 大] | 来源:webservice |
阅读:15304 | : 0 | 收藏 asp.net,webservice,跨平台,xml,json,url,访问,字符串 [摘要]: 当我们在跨平台的时候通过URL访问webservice相应方法的时候,总是希望其能够返回json对象,便于信息的处理。当我们想访问某个方法然后返回某些信息时,如果我们的方法最终是采用return的形式来返回数据,那么最终通过url形式访问方法后将会得到一个xml格式的串。 [WebMethod] public string HelloWorld() { //这里如果用return 返回json字符串如果是采用url访问那么将会返回一个xml格式的字符串 return "{ \"state\": { \"return\": \"true\", \"info\": \"\", \"code\": \"\" } }"; } 最后返回的是xml: <string...当我们在跨平台的时候通过URL访问webservice相应方法的时候,总是希望其能够返回json对象,便于信息的处理。当我们想访问某个方法然后返回某些信息时,如果我们的方法最终是采用return的形式来返回数据,那么最终通过url形式访问方法后将会得到一个xml格式的串。
[WebMethod] public string HelloWorld() { //这里如果用return 返回json字符串如果是采用url访问那么将会返回一个xml格式的字符串 return "{ \"state\": { \"return\": \"true\", \"info\": \"\", \"code\": \"\" } }"; }
最后返回的是xml:
<string xmlns="http://tempuri.org/"> { "state": { "return": "true", "info": "", "code": "" } } </string>
这样一来就很不利于数据处理,我们想要得到json数据还需要对其返回的xml串进行拆解。为了能够直接返回json对象,我们可以这样做,webservice的方法直接Response.Write(JsonStr)即可,形如:
[WebMethod] public void HelloWorld() { //下面这种方式采用Context.Response.Write()的形式就可以保证url访问的时候返回的是字符串而不会出现xml格式 Context.Response.Write("{ \"state\": { \"return\": \"true\", \"info\": \"\", \"code\": \"\" } }"); Context.Response.End(); }
这样一来我们再通过url访问HelloWorld方法后返回的数据就是如下数据了:
{ "state": { "return": "true", "info": "", "code": "" } }
这样一来我们处理数据就变得很容易了的。
上一篇:
下一篇:asp.net第三章:jQuery Ajax异步调用webservice服务的基本配置要求
加精 15 踩扁 0
查看评论
暂无任何评论
关联阅读
01 asp.net+Ajax如何实现Highcharts图表组件支持大数据(上万个数据点)
02 ECharts图表组件中级入门篇:如何通过Ajax异步获取图表数据赋值于图表并渲染呈现(asp.net Demo无码版)
03 ExtJs入门之filefield:文件上传的配置+结合Ajax完美实现文件上传的asp.net示例
04 EasyUI datagrid直接赋值json对象 报rows.length 错误的解决方案
05 asp.net结合FlashPaper虚拟打印机完美实现WORD/EXCEL/PPT转PDF/SWF
06 highcharts图表高级入门之:如何给其图表series序列数据追加自定义属性(id、url)并获取
07 ECharts图表高级入门:asp.net如何实现后台保存ECharts图表为图片文件或插入excel文件内
08 highcharts图表实战篇:通过Ajax异步后台获取json数据中包含多条序列(series)且包含所对应的单位以及数据 如何动态将对应单位设置到tooltip内
09 ASP.NET Entity Framework(ORM框架)优缺点及使用方法总结
10 highcharts图表入门之高级篇:如何自己编写图表保存服务页面实现highcharts任意保存在任何位置(asp.net版本)