Saltar al contenido

¿Cómo leer un archivo JSON local externo en JavaScript?

Hola, hallamos la solución a lo que buscabas, has scroll y la hallarás un poco más abajo.

Solución:

Para leer el archivo JSON local externo (data.json) usando javascript, primero cree su archivo data.json:

data = '["name" : "Ashwin", "age" : "20","name" : "Abhinandan", "age" : "20"]';
  1. Mencione la ruta del archivo json en el código fuente junto con el archivo javascript.

    
    
    
  2. Obtenga el objeto del archivo json

    var mydata = JSON.parse(data);
    alert(mydata[0].name);
    alert(mydata[0].age);
    alert(mydata[1].name);
    alert(mydata[1].age);
    

Para obtener más información, consulte esta referencia.

La carga de un .json El archivo del disco duro es una operación asincrónica y, por lo tanto, debe especificar una función de devolución de llamada para ejecutar después de cargar el archivo.

function readTextFile(file, callback) 
    var rawFile = new XMLHttpRequest();
    rawFile.overrideMimeType("application/json");
    rawFile.open("GET", file, true);
    rawFile.onreadystatechange = function() 
        if (rawFile.readyState === 4 && rawFile.status == "200") 
            callback(rawFile.responseText);
        
    
    rawFile.send(null);


//usage:
readTextFile("/Users/Documents/workspace/test.json", function(text)
    var data = JSON.parse(text);
    console.log(data);
);

Esta función también funciona para cargar un .html o .txt archivos, anulando el parámetro de tipo mime para "text/html", "text/plain" etc.

no poder realice una llamada AJAX a un recurso local ya que la solicitud se realiza mediante HTTP.

Una solución consiste en ejecutar un servidor web local, entregar el archivo y realizar la llamada AJAX a localhost.

En términos de ayudarlo a escribir código para leer JSON, debe leer la documentación para jQuery.getJSON():

http://api.jquery.com/jQuery.getJSON/

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *