asp.net返回JSON格式数据总结

网友投稿 334 2022-11-04


asp.net返回JSON格式数据总结

我发现自己写过好几篇相关主题的文章:asp.net中如何返回JSON格式的数据、asp.net中如何返回JSON格式的数据。现在回过头来看看这些文章,五花八门。尽管如此,每次遇到要返回JSON,我仍然一脸茫然,需要翻出这些文章查阅一番。

来个总结吧。

一、​​asp.net​​ web api

这是for api的,有别于mvc

using System.Web.Http;using System.Web.Http.Results;public class HyzController : ApiController{ [HttpGet] [Route("api/base/hyz/zxz")] public JsonResult> GetZxz() { var data = new List() { new Zxz() { Id = 1, Name = "广州", Parent = "天河区", SubNum = 9, Subs = new List() { new Hyz() { Id = 2, Name = "天园街" }, new Hyz() { Id = 3, Name = "棠下街" } } } }; return Json(data); }

二、​​asp.net​​ web api中强制返回格式为JSON

​​asp.net​​ web api 默认的结果传送方式是XML。但可以设置为JSON。方法为在WebApiConfig里加入一句:

public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API 路由 config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));//改为JSON方式 } }

三、​​asp.net​​ MVC

public ContentResult GetUser(){ return new ContentResult { ContentEncoding = Encoding.GetEncoding("utf-8") ,ContentType = "application/json"//<----------------------------------- ,Content = @"{ ""code"" : ""0", ""desc"" : ""请求数据成功!", ""dataobj"" : [ { ""action"" : ""I", ""userCode"" : ""001", ""userName"" : ""张三"" }, { ""action"" : ""U", ""userCode"" : ""002", ""userName"" : ""李四"" } ]}" };}

返回类型用JsonResult也可以,但无法应用预先拼好的json字符串

参考文章:​​ASP.NET MVC 提供与访问 Web Api​​

四、不管是WEB API还是MVC,直接返回JSON对象

using Newtonsoft.Json; [System.Web.Http.HttpGet]public JObject GetTags(string account){ JObject jobj = new JObject(); //ViewTag是自定义类 IList list = customViewService.GetTags(ProjectId,account); jobj.Add("total", (JToken)list.Count()); jobj.Add("rows", JArray.FromObject(list)); return jobj;}

参考文章:​​​服务器端将复合json对象传回前端​​


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:信用查询API(信用查询app准吗)
下一篇:关于java关键字this和super的区别和理解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~