此特定应用程序以[{1}}
格式返回content-type
标头
我不确定这是否会改变并缩减为“应用程序/ json”#39;只有或者可能是我在其他地方重用此代码?
我的代码是
application/json;charset=UTF-8
如何最好地检查内容类型application / json ???
答案 0 :(得分:2)
您可以使用RegExp
/application\/json/
var response = {"Content-Type":"application/json;charset=UTF-8"};
console.log(response["Content-Type"].match(/application\/json/)[0]);

答案 1 :(得分:1)
我认为你做得对,你可以使用正则表达式进行检查。如果它返回null则表示它不是json。
if (response.headers['Content-Type'].match(/application\/json/i)){
// do your stuff here
}
其他方法是在标题字符串
中查找application/json
字符串
if (response.headers['Content-Type'].contains('application/json')){
// do your stuff here
}
答案 2 :(得分:0)
There are multiple JSON
content-types.并非所有人都是"官方",但如果您要尝试将它们全部匹配,请尝试this regex:
^((application\/json)|(application\/x-javascript)|(text\/javascript)|(text\/x-javascript)|(text\/x-json))(;+.*)*$
您可以在正则表达式中添加/删除内容类型,只需记住在它们周围加上正确的括号。