解决Asp.Net里的webapi返回的json数据有两边双引号和中间有转义字符(反斜杠)的问题

24 篇文章 0 订阅

前言:

这几天在用WebApi做微信小程序后台的时候,遇到了一个困扰了一天的东西。就是我用webapi返回的数据在Google浏览器下都是以类似XML格式返回的,返回的数据无缘无故多了个下面的这样的东西,并且返回数据也不是Json格式的在数据两端多个双引号,并且中间多了许多反斜杠。并且在不同的浏览器下返回的还不一样,IE浏览器里没有类似XML的标签,但是数据一样不正确(返回的数据展示的不一样我也查询资料了,说的是和浏览器本身相关--对于这个问题我也没深究)。


接着向下说:

这是Google浏览器返回的数据,返回的数据多了个反斜杠,外面也多了个类似XML的东西

(返回类似XML的解决方法大家可以看下我的另一篇博客)

链接:https://blog.csdn.net/GreyCastle/article/details/90298597

这是IE浏览器返回的数据(没有类似XML包括,但是里面还是有反斜杠的东西)



解决办法:

需要注意的是,你调用方法后,你自己定义的方法的返回类型必须是HttpResponseMessage类型,否则返回的数据就不是你的数据了,而是默认的HttpResponseMessage这个类中的一些属性,比如Version属性。

GetJson方法:

 /// <summary>
        /// 将webapi中多出的双引号和转义字符(反斜杠),转换为json返回
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public static HttpResponseMessage GetJson(string json)
        {
            var resp = new HttpResponseMessage { Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json") };
            return resp;
        }

展示效果:返回的确实是Json格式反斜杠也没有了,双引号也去掉了

关于Goole返回的是XML格式的大家可以看下我的另一篇博客,主要是标题太长了,就没写一块。嘻嘻!

链接:https://blog.csdn.net/GreyCastle/article/details/90298597

结尾:


       分享:必须从过去的错误学习教训而非依赖过去的成功。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值