如何让webservice输出json格式

Breezexiang 2012-03-07 11:39:03

[System.Web.Script.Services.ScriptService]
public class openapi : System.Web.Services.WebService
{

[WebMethod(true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false,XmlSerializeString=false)]
public string login(string s)
{

return s;
}


我希望我的代码能返回一个json格式,但是在浏览器调用的情况下,返回的是带有
<?xml version="1.0" encoding="utf-8" ?> 
<string xmlns="http://tempuri.org/">
标记的xml

但是在jquery中,指定了 contentType: "application/json"后,可以顺利拿到json格式。请问怎么样做才能让webserivce始终返回json格式啊
...全文
7652 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
seed227 2014-09-14
  • 打赏
  • 举报
回复
同问,楼主后来是怎么解决的?
Breezexiang 2012-03-07
  • 打赏
  • 举报
回复


问题不是怎么json序列化
而是序列化后的字符串输出后,总会被套个xml的壳
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">{"errno":"0"} </string>
ycproc 2012-03-07
  • 打赏
  • 举报
回复

看你原始数据是什么格式的

1. 序列化 http://blog.csdn.net/fengyarongaa/article/details/7097520

2. 手动拼接

两种方法
Breezexiang 2012-03-07
  • 打赏
  • 举报
回复
怎么才能让webservice返回json的时候去掉那个讨厌的D
Breezexiang 2012-03-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 rqx110 的回复:]

你用json格式请求,然后返回拼接json字符串,就可以了。不会套上xml那些东西的
[/Quote]

显然会拼接上一个d啊
rqx110 2012-03-07
  • 打赏
  • 举报
回复
你用json格式请求,然后返回拼接json字符串,就可以了。不会套上xml那些东西的
cdglynn 2012-03-07
  • 打赏
  • 举报
回复
这个和协议是有关的,webservice就是用的XML承载数据的,所以这个从本质上很难解决。
而WCF可以支持多种协议,比如TCP就没问题了。
如果是B/S项目你可以直接用HTTP POST或GET方法直接传输数据
Breezexiang 2012-03-07
  • 打赏
  • 举报
回复
没有办法去掉吗
sinitek123 2012-03-07
  • 打赏
  • 举报
回复
这就是webservice的输出形式,

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧