2012-02-22 1 views
-2

Possible en double:
How to use a JSON file in javascriptComment lire un fichier texte contenant une chaîne JSON en utilisant Javascript?

je mets une chaîne JSON dans un fichier texte. Maintenant, je veux lire ce fichier afin de transférer la chaîne à un objet en utilisant Javascript.

Comment puis-je lire le fichier?

+5

Où est le fichier? Dans quel type d'environnement êtes-vous - une page Web? –

+1

Avez-vous [recherché] (http://stackoverflow.com/search?q=javascript+read+json+file)? – Quentin

+0

javascript rend ce php très compliqué serait beaucoup plus facile de le faire ... –

Répondre

-1

Utilisez un XMLHttpRequest, appelé appel AJAX, pour charger le fichier dans JavaScript.

+1

OP n'a jamais dit que le fichier se trouve sur un serveur. – jAndy

+2

Vrai, mais c'est un cas probable - certainement assez pour deviner sur la base de la petite information qu'il y a. Après tout, OP n'a jamais dit que * n'était pas * sur un serveur. –

0

ok vous pouvez utiliser le fichier HTML5 API si vous voulez faire cela sur le client. Voici un exemple de code qui devrait vous aider à démarrer.

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
      <html xmlns="http://www.w3.org/1999/xhtml"> 
      <head> 
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
      <title>Untitled Document</title> 
      <style type="text/css"> 
       body 
       { 
        font-size:18pt; 
       } 
      </style> 
      <script type="text/javascript"> 
       function init() { 
        var bHaveFileAPI = (window.File && window.FileReader); 

        if (!bHaveFileAPI) { 
         alert("This browser doesn't support the File API"); 
         return; 
        } 

        document.getElementById("fileElem").addEventListener("change", onFileChanged); 
       } 

       function onFileChanged(theEvt) { 
        var thefile = theEvt.target.files[0]; 

        // check to see if it is text 
        if (thefile.type != "text/plain") { 
         document.getElementById('filecontents').innerHTML = "No text file chosen"; 
         return;// this will just get out of the function. 
        } 

        var reader = new FileReader(); 
        //file reader has an event there is no need to assign an event listener the 
        //onload event can just be assign like the below. 
        reader.onload = function (evt) { 
         var resultText = evt.target.result; 
         document.getElementById('filecontents').innerHTML = resultText; 
        } 
      // readAsText is a native method of the FileReader object. 
        reader.readAsText(thefile); 
       } 

       window.addEventListener("load", init); 
      </script> 
      </head> 
      <body> 
      <h1>Reading File Data as Text</h1> 
      <form action=""> 
      <label>Select a file: </label> 
      <input type="file" name="files" id="fileElem" /> 
      </form> 
      <p>File contents: </p> 
      <textarea cols="80" rows="10" id="filecontents"></textarea> 
      </body> 
      </html> 

cela ne fonctionnera que sur Firefox et Chrome, car ils sont la seule fois supportant l'API de fichier sinon vous pouvez une requête http si le fichier est sur le serveur.

Questions connexes