android - 当我将 "json"作为扩展名传递时,getMimeTypeFromExtension 返回 null

标签 android json mime-types

以下代码返回null

MimeTypeMap.getSingleton().getMimeTypeFromExtension("json");

我已经尝试过使用其他格式,如 mp4、png 等...它工作正常但无法用于 json。

我也试过 URLConnection.guessContentTypeFromName 也得到了 null。

那么我怎样才能得到我期望它是 "application/json" 的 json 的 mime 类型?

临时解决方案

public static final String MIME_TYPE_JSON = "application/json";

private static final String EXTENSION_JSON = "json";

@Nullable
public static String getMimeType(final String path) {
    // StringUtil is my own util but you can use Guava for the same result
    String extension = StringUtil.getExtension(path).toLowerCase();
    return extension.equals(EXTENSION_JSON) ?
                MIME_TYPE_JSON : MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
}

最佳答案

Android 不支持“json”(以及 javascript 扩展的“js”),查看源代码here .和 see您正在调用的方法,如果给定的扩展名未在定义的内容类型映射集中列出,它将返回 null。

关于android - 当我将 "json"作为扩展名传递时,getMimeTypeFromExtension 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44667125/

相关文章:

android - 将 "useLibrary"添加到 android cordova 插件中的 build.gradle

android - 循环动画集

json - 将 'pretty printed' JSON 字符串转换为紧凑格式表示的最简单方法是什么?

javascript - res.json 返回无意修改的输入

c++ - QJsonObject 返回 null

fonts - 字体文件的正确 MIME 类型是什么?

Android SDK 和 AVD Manager 设置菜单在哪里?

Android项目gradle构建成功后没有输出目录?

ruby-on-rails - 带有回形针 Docx content_type 的 Rails 将作为应用程序/zip 回来

javascript - 在浏览器中强制输入 Mime(使用 Javascript)