webapi如何返回Json格式或者xml格式?

【Help】 2016-04-09 08:05:09
大家都知道,APi会根据你http请求的Accept标头来选择格式化xml还是json格式的数据,有时候我们做API的时候可能会固定一种格式,比如Json格式,这种怎么做呢,可能有的人会说全局配置下,这样的话就所有的都只能是json格式了,自定义的话
string data= "{\"total\": 17,\"page\": 1,\"records\": 17,\"rows\": [{\"id\":1, \"cell\":[ 1,\"FG001\",\"SFG001\",1.000000,\"2013-04-02 0:00:00\"]} ]}";
return new HttpResponseMessage { Content = new StringContent(data, System.Text.Encoding.UTF8, "application/json") };这里的data就必须要手动将对象序列化json格式才能这样传递,有些麻烦,每次数据都需要手动的序列化后才行,有没有好的办法呢?或者你们是怎么做的?
...全文
959 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wq1234wq 2016-04-10
  • 打赏
  • 举报
回复
偷懒不用WebApi,普通 Controller ,直接 renturn Json(new{total=17,records-17,.......}); 你是要分页吧,这样最简单不用定义Model,需要什么字段要什么字段,效率还行。
  • 打赏
  • 举报
回复
看你想要的是部分返回指定格式比如json,个人思路方面是通过attribute以及查看下api源代码是在哪个步骤确认序列化器的
insus 2016-04-10
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
如果你嫌每次都写 new HttpRespo....... 那样一条语句也“麻烦”,那么就把它封装为一个通用的函数每次调用不就行了吗?!难道仅仅因为这个原因就非要换肾?
範先森 2016-04-09
  • 打赏
  • 举报
回复

                string json=new JavaScriptSerializer().Serialize(NewsList);
                StringBuilder Builder = new StringBuilder();
                Builder.Append("{");
                Builder.Append("\"recordcount\":" + RecordCount + ",");
                Builder.Append("\"data\":");
                Builder.Append(json);
                Builder.Append("}");
                Response.ContentType = "application/json";
                Response.Write(Builder.ToString());

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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