2017-07-02 107 views
2

我必須使用存儲在本地驅動器中的React.js讀取JSON文件。我嘗試使用fetch()api,但我得到的數據未定義。 繼承人我的代碼。閱讀react.js中的JSON文件

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

我得到的數據爲undefined。 我將如何讀取react.js中的JSON文件?

+0

您是否已將json文件放入本地服務器的根路徑中? – divine

回答

8

只需使用import代替

import react from 'react' 

//... rest of imports 

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

但問題是我無法導入外部src –

+0

@AkashSateesh你的服務器(localhost:300)服務於107k.json嗎?另外,我想你可能想使用端口3000,因爲通常保留999以下的端口號。 –

+0

對不起,它只有3000。我正在使用反應的webpack服務器 –

2

身體混入的JSON()方法採用一個響應流,並將其讀出完成。它返回一個承諾,將解析正文文本的結果解析爲JSON。

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

我將其作爲XML格式提供。 res.json()解析給出錯誤 –

+0

這是正確的方法,確保你的json通過https://jsonlint.com/或類似的東西是有效的。 – Dominik

+0

所有需要的示例都不起作用。謝謝!!! –