ASP输出真正的Json文件的方法
2024-11-29阅读:2515
最近做一个对接某网站的接口,对方要求回调地址要输出Json格式的文件,百度了一圈,通篇都是 互相Copy的,然而实际上他们输出的并不是真正的Json文件,而只是Json格式,这不是我想要的,因为我对接的网站接口无法识别。折腾了半天,终于搞明白了,原来他们的输出格式声明都是错误的,居然还被那么多人转载来转载去的,真是无语。
正确的方法:
<%@Language="VBScript" CodePage="65001"%> <% response.ContentType = "application/json" str="{""errcode"":0,""message"":""ok""}" response.write str response.end %>
其实关键点在于输出类型的声明:
response.ContentType = "application/json"
而好多人却是这样写的:
response.ContentType = "text/json"
有的甚至不声明,还通篇大论如何如何引用json.asp文件,如何如何生成json格式,其实无所谓,像我上面的代码一样,字符串直接拼接一样可以输出真正的Json文件,关键是设置正确的ContentType,否则,再怎么通篇大论,输出的永远都只是字符串,而不是真正的Json格式文件。
用火狐浏览器检验一下,使用response.ContentType = "application/json" 后输出的结果是这样的:
而如果使用 response.ContentType = "text/json" 输出的只是字符串
{"errcode":0,"message":"ok"}
不是真正意义的Json格式文件。