Como muchas personas mencionaron antes, esto no funciona con una llamada AJAX. Sin embargo, hay una forma de evitarlo. Usando el elemento de entrada, puede seleccionar su archivo.
El archivo seleccionado (.json) debe tener esta estructura:
[
{"key": "value"},
{"key2": "value2"},
...
{"keyn": "valuen"},
]
<input type="file" id="get_the_file">
Luego puede leer el archivo usando JS con FileReader ():
document.getElementById("get_the_file").addEventListener("change", function() {
var file_to_read = document.getElementById("get_the_file").files[0];
var fileread = new FileReader();
fileread.onload = function(e) {
var content = e.target.result;
// console.log(content);
var intern = JSON.parse(content); // Array of Objects.
console.log(intern); // You can index every object
};
fileread.readAsText(file_to_read);
});