Importing JSON files with a different file extension fails as "Unknown module"
When trying to import a json file with import attributes that doesn't end with .json Deno gives the following error:
The code for importing it looks like this:
When renaming the file to .json and updating the import accordingly, it works as expected. Is this a known limitation, something I can work around, or a bug? I couldn't find anything on it.
1 Reply
Based on the documentation, Deno determines the type of a file based on its extension for local modules. For JSON files, the extension should be
.json
. When the extension is absent or different, Deno assumes it to be a JavaScript file. This is likely why you're encountering an error when trying to import a JSON file with a different extension.
As a workaround, you could read the file as text using Deno.readTextFile()
and then parse it with JSON.parse()
. Here's an example:
Please note that this workaround isn't explicitly mentioned in the documentation, but it's a common way to handle JSON data in JavaScript and TypeScript.