如何从React JS中的JSON数组中获取数据

时间:2019-04-11 10:08:53

标签: reactjs

我从api获取json,但以前没有转换为数组,但我得到了值,但是从这段代码中我没有得到值

这是我的代码:

componentWillMount() {
    let initialFilename;
    fetch('http://localhost/Generator/FetchfileDetails.php')
        .then(response=>{
            return response.json();
        }).then(data=>{
            alert(data.filename);
        });
}

我的json中的关键值是文件名要存储在数组中怎么办?

3 个答案:

答案 0 :(得分:1)

请记住,不要使用componentWillMount()方法来获取数据。

参考:https://reactjs.org/docs/faq-ajax.html#how-can-i-make-an-ajax-call

使用以下内容,

componentDidMount(){  
     fetch("http://localhost/Generator/FetchfileDetails.php") 
        .then(res=> res.json())
        .then(data=>{ //here you can set data to state })
}

答案 1 :(得分:1)

我建议您使用axios软件包获取GET数据,它非常易于使用。.

axios.get('API').then(response=>{console.log(response)})

您可以将此代码插入componentDidMount函数

如果您想查看完整的文档axios,This Link

答案 2 :(得分:0)

您可以尝试代替response.json()进行操作:

fetch("http://localhost/Generator/FetchfileDetails.php") .then(response=>{ return JSON.parse(response) }).then(data=>{ alert(data);})

另外,如果您说响应应该是数组,则不能使用data.filename,而必须执行data ['filename'],data.filename用于对象响应