2017-07-02 4 views
2

Ich muss JSON-Datei mit React.js lesen, die auf dem lokalen Laufwerk in Mac gespeichert ist. Ich habe versucht, mit fetch() api, aber ich bekomme Daten undefiniert. Heres mein Code.Eine JSON-Datei in react.js lesen

fetch('http://localhost:300/107k.json') 
    .then(req => console.log(req)) 
    .then(data => console.log(data)) 

Ich bekomme Daten als undefiniert. Wie kann ich die JSON-Datei in react.js lesen?

+0

Haben Sie die JSON-Datei im Root-Pfad für Ihren lokalen Server platziert? – divine

Antwort

8

Verwenden Sie einfach import statt

import react from 'react' 

//... rest of imports 

import MyJson from '../path/to/json/107k.json'; 
+0

Aber das Problem ist, ich kann nicht importieren außerhalb src –

+0

@AkashSateesh funktioniert Ihr Server (localhost: 300) 107k.json? Außerdem denke ich, dass Sie stattdessen Port 3000 verwenden möchten, da Portnummern unter 999 normalerweise reserviert sind. –

+0

Sorry sein 3000 nur. Ich benutze Webpack-Server von reagieren –

2

Die json() -Methode des Körper mixin einen Antwortstrom nimmt und liest es bis zur Fertigstellung. Es gibt ein Versprechen zurück, das mit dem Ergebnis der Analyse des Textkörpers als JSON aufgelöst wird.

fetch('http://localhost:300/107k.json') 
    .then(res => res.json()) 
    .then(data => console.log(data)) 
+0

Ich erhalte es als XML-Format. res.json() parsing gibt Fehler –

+0

Dies ist der richtige Weg, stellen Sie sicher, dass Ihr Json über https://jsonlint.com/ oder etwas Ähnliches gültig ist. – Dominik

+0

Alle erforderlichen Beispiele würden nicht funktionieren. DANKE!!! –