WebAPI返回JSON的正确格式
最近打算用WebAPI做服务端接口,返回JSON供ANDROID程序调用,结果试了好几次JSONObject都无法解析返回的JSON字符串。看了一下服务端代码:
public string Get()
{
return "{\"errNum\":300202,\"errMsg\":\"Missing apikey\"}";
}
打开CHROME浏览器,F12查看了一下返回信息,发现返回头Content-Type是"application/xml; charset=utf-8"类型,原来WebAPI默认是返回XML类型, 有人说可以在Global.asax添加配置,代码如下:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles); // 使api返回为json
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
}
按照上面方法做了之后,再F12的确是返回“application/json”了,本以为到此就结束了,万万没想到的是JSONObject再次解析异常。之后又尝试了好几种方法,最后通过下面的方法终于返回了可以解析的JSON字符。
public HttpResponseMessage Get()
{
string json = "{\"errNum\":300202,\"errMsg\":\"Missing apikey\"}";
return new HttpResponseMessage { Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json") };
}
总结:其实WebAPI默认建议使用RESTful风格,根据GET\POST\PUT\DELETE调用不同的ACTION,并返回HttpResponseMessage,我们可以很灵活地定义HttpResponseMessage。
WebAPI返回JSON的正确格式的更多相关文章
- WebAPI搭建(二) 让WebAPI 返回JSON格式的数据
在RestFul风格盛行的年代,对接接口大多数人会选择使用JSON,XML和JSON的对比传送(http://blog.csdn.net/liaomin416100569/article/detail ...
- WebApi返回Json格式字符串
WebApi返回json格式字符串, 在网上能找到好几种方法, 其中有三种普遍的方法, 但是感觉都不怎么好. 先贴一下, 网上给的常用方法吧. 方法一:(改配置法) 找到Global.asax文件,在 ...
- webapi返回json格式优化
一.设置webapi返回json格式 在App_Start下的WebApiConfig的注册函数Register中添加下面这代码 config.Formatters.Remove(config.For ...
- webapi返回json格式,并定义日期解析格式
1.webapi返回json格式 var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferen ...
- (转)WebApi返回Json格式字符串
原文地址:https://www.cnblogs.com/elvinle/p/6252065.html WebApi返回json格式字符串, 在网上能找到好几种方法, 其中有三种普遍的方法, 但是感觉 ...
- webapi返回json格式优化 转载https://www.cnblogs.com/GarsonZhang/p/5322747.html
一.设置webapi返回json格式 在App_Start下的WebApiConfig的注册函数Register中添加下面这代码 1 config.Formatters.Remove(config.F ...
- [转]SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意
一.SpringMVC使用@ResponseBody时返回json的日期格式 前提了解: @ResponseBody 返回json字符串的核心类是org.springframework.http.co ...
- SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意
一.SpringMVC使用@ResponseBody时返回json的日期格式 前提了解: @ResponseBody 返回json字符串的核心类是org.springframework.http.co ...
- 明确出需求 然后开会评审 要什么接口 接口参数、返回json内容、格式 协定好 在做
明确出需求 然后开会评审 要什么接口 接口参数.返回json内容.格式 协定好 在做
随机推荐
- ToString() 格式化字符串
例如i=: i.ToString().PadLeft(,'); 固定长度为10,左不足补0,结果为0000000001:
- GDI+ 学习记录(26): 显示图像 - Image
//显示图像 var g: TGPGraphics; img: TGPImage; begin g := TGPGraphics.Create(Self.Canvas.Handle); ...
- VS2013 :IntelliSense: 不允许使用不完整的类型
出现上述情况,一般是存在对应的头文件,但是没有引用造成的. 引用的时候要注意头文件的顺序, 本项目中的头文件一般先引入,也就是用双引号#include "xxx.h",然后是系统中 ...
- ubuntu安装和卸载软件命令
ubuntu安装和卸载软件命令 Ubuntu软件安装与删除相关命令 安装软件 命令: apt-get install softname1 softname2 softname3…… 卸载软件 命令: ...
- Python【基础第一篇】
一.Python3新特性 编码统一为unicode Python3不支持Twisted,暂时只支持73% 1/2=0.5 print "hello World" 变成 print ...
- HW6.19
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- Android下NFC的简单使用
现在很多手机已经配备了NFC(Near Field Communication 近场通信)的功能,我就为此专门研究过,可以到本文末尾下载源代码. Android官方资料:http://develope ...
- Raspberry Pi无线路由器篇
RaspberryPi可以折腾的方法很多,我将会吧自己的折腾经验与大家分享. 作为无线路由器,需要提供dhcp的功能和无线ap的能力,我们分别通过isc-dhcp-server和hostapd这两 ...
- Android实例-多窗口的切换(XE8+小米2)
1.图片一是程序运行后的界面. 2.图片二是点击"非模态显示"的界面. 3.图片三是点击"模诚显示"的界面(提示平台不支持). unit Unit1; inte ...
- 第十三章、学习 Shell Scripts 循环 (loop)
while do done, until do done (不定循环) while [ condition ] <==中括号内的状态就是判断式 do <==do 是回圈的开始! 程序段落 ...