当前位置: 首页 > 编程语言 > C#

使用C#.NET制作JSONWeb服务分享

时间:2023-04-11 01:07:51 C#

使用C#.NET制作JSONWeb服务我想在C#.NET中创建JSONWeb服务。Web方法返回一个json字符串,但它包含如下xml结构:{"checkrecord":[{"rollno":"abc2","percentage":40,"attended":12,"missed":34}],"Table1":[]}我之前看过这篇文章,对我帮助不大。所以我的问题是,json字符串没有以纯格式返回。我不想要那个xml版本和xmlns字符串。我打算稍后在Android上使用Web服务。谁能帮我?谢谢如果您使用请求和响应格式的属性装饰界面,您可以获得标准WCF以返回和解释正确的json。[WebGet(UriTemplate="user/{userid}",RequestFormat=WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json)]但问题是,WCF的固有DataContractJsonSerializer并不总是返回正确的json。它的字典序列化充其量是有问题的,因为它被序列化为键/值对列表。要解决此问题,您必须从服务方法返回一个Stream并手动执行序列化(使用Json.NET或ServiceStack执行序列化)。在这种情况下,建议使用WebAPI,但在某些情况下,可以使用上述装饰来使用常规WCF。您可以尝试使用RESTApi构建服务。您可以在此链接中找到有关使用WCF的REST的信息。您可以下载有关如何构建返回json响应的restfulwcf服务的示例工具包。如果您计划创建REST服务,那么值得学习WCFWebAPI。它可以通过Nuget或Codeplex轻松安装这在使用ServiceStack时也不是问题,即您返回的每个结果都会自动转换为您想要的ResponseContentType,即它是一个简单的Web服务,具有完整的代码,可以通过所有HTTP访问VERBS调用(GET、POST、PUT、DELETE)所有支持的格式(无需配置),即JSON、XML、HTML、JSV、CSV、SOAP,甚至直接HTML形式x-www-form-urlencoded或QueryString请求:公共类你好{publicstringName{get;放;}}publicclassHelloResponse{publicstringResult{get;放;}}publicclassHelloService:IService{publicobjectExecute(Hellorequest){returnnewHelloResponse{Result="Hello,"+request.Name};您可以覆盖使用Accept:application/jsonHTTP标头获得的响应,还是仅添加QueryString?格式=json。请参阅ServiceStack的HelloWorld示例以查看上述Web服务的示例。改上面方法的收获是C#学习教程:使用C#.NET制作JSONWeb服务分享所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——Context.Response.Write(ans);上下文.Response.End();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: