Mit HTML 5 File API zum laden einer JSON-Datei
Möchte ich die Benutzer werden in der Lage sein zu wählen, einer JSON-Datei auf Ihrem Rechner, diese JSON-Datei sollte dann zur Verfügung gestellt werden, um die client-side Javascript.
Wie würde ich dies tun, mit der DATEI-API, das ultimative Ziel ist es, das der Benutzer ausgewählt JSON-Datei als ein Objekt, das kann ich dann spielen über in Javascript. Dies ist, was ich habe, so weit:
JsonObj = null
function handleFileSelect(evt) {
var files = evt.target.files; //FileList object
f = files[0];
var reader = new FileReader();
//Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
//Render thumbnail.
JsonObj = e.target.result
console.log(JsonObj);
};
})(f);
//Read in the image file as a data URL.
reader.readAsDataURL(f);
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
FIDDLE: http://jsfiddle.net/jamiefearon/8kUYj/
Wie kann ich umwandeln der variable JsonObj zu einem richtigen Json-Objekt, man kann neue Felder hinzuzufügen, zu etc.
- vielleicht wird dies helfen. html5rocks.com/en/tutorials/file/dndfiles
- Ich habe die Anleitung zu Lesen, die Sie erwähnt haben und aktualisiert haben, meine Antwort durch Euch zu zeigen, was ich habe.
- Hast du einen kleinen syntax-Fehler in deinem Beispiel. Es gibt kein Semikolon nach
JsonObj = e.target.result
(in der inneren code-block)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht geladen werden die Daten als "DataUrl" über
readAsDataURL
, verwenden Sie stattdessenreadAsText
dann analysieren Sie es überJSON.parse()
z.B.