c# - 有没有更好的方法来验证请求是否接受 JSON?

标签 c# asp.net json request content-type

其实我就是这么用的。你有更好的方法吗?

private bool AcceptJson(HttpRequest request)
{
    const string JsonType = "application/json";

    if (request.ContentType.ToLower(CultureInfo.InvariantCulture).StartsWith(JsonType))
    {
        return true;
    }

    if (request.AcceptTypes.Select(t => t.ToLower(CultureInfo.InvariantCulture) == JsonType).Count() > 0)
    {
        return true;
    }

    return false;
}

最佳答案

这种方法可能会导致误报(它不考虑 q 值或 application/json 是其子字符串的内容类型)。

您可以在 this article about XHTML 中找到一个不错的 Accept header 解析器.您必须将算法移植到您选择的语言,并使其适应您正在使用的内容类型。

关于c# - 有没有更好的方法来验证请求是否接受 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/175236/

相关文章:

c# - 使用for循环添加任务用于创建限制并发的任务调度程序

asp.net - 在特定的路由前缀处配置OWIN静态文件服务器

c# - 获取屏幕比例

c# - 如何使用迭代器获取字典的键/值?

asp.net - .Net Standard 2.0 类库是否有通用配置文件?

json - 如何在 Dart 中使用 json_annotation 将 Uint8List 序列化为 json?

java - 作为客户端使用 Java 类发送 JSON 对象

Java gson 如何将 List<Item> 序列化为 JSON 字符串中的对象列表?

C# 项目与 Oracle.DataAccess.dll (v2) 在 Win 7 与 ORA-12154 错误

c# - 格式化 ASP.NET Gridview 货币值