实现WebService只返还json结构数据

本文介绍了一种通过修改C# Webservice实现直接返回JSON数据的方法,避免了XML与JSON之间的转换,简化了跨平台数据共享的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                        现在项目要求跨平台,数据共享,json结构的数据结果必不可少。而其中跨平台自然用到webservice技术,根据webservice特性传送数据为XML结构,如果各平台使用不可避免要进行XML转换为json数据,往往较为麻烦,为后面日常维护带来不便。能不能使得各个平台调用webservice时候直接返还json数据呢,经过研究发现,是可行的,技术实现如下(以C#做webservice为例)

通常webservice 接口定义

  [WebMethod]
        public string GetName()
        {
            return "Hello World Produce";
        }

返还

    

<?xml version="1.0" encoding="utf-8" ?>
  <string xmlns="http://tempuri.org/">Hello World Produce</string>

其实 问题就出现在 return 语句上,经过改造,写一个静态方法用来替换 return 
 public static class WebServiceContext
    {
        public static void GetJsonData(System.Web.Services.WebService wb,string jsonData)
        {
           //System.Web.Services.WebService wb = new System.Web.Services.WebService();
            wb.Context.Response.Charset = "utf-8";
            wb.Context.Response.ContentEncoding = System.Text.Encoding.UTF8;
            wb.Context.Response.Write(jsonData);
            wb.Context.Response.End();
        }
    }
z这样返还结果就直接是json数据了。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值