我从服务器接收数据但无法解析它。当我解析时,我正在纠错 "在位置0的JSON中出现意外的标记u 在JSON.parse()"。
import React from 'react';
import axios from 'axios';
class Premontessori extends React.Component{
constructor(props){
super(props);
this.state={
post:[]
};
}
componentDidMount(){
axios.get('http://localhost:8080/list')
.then(data => this.setState({post:data} )
);
}
render(){
return(
<div>
{JSON.parse(this.state.post.data)}
</div>
);
}
}
export default Premontessori;
答案 0 :(得分:1)
此:
axios.get('http://localhost:8080/list')
.then(data => this.setState({post:data} )
...会将您的状态设置为{post: ...}
,其中...
是data
的值,可能是字符串或已解析的对象树,具体取决于{{1}在收到JSON时,会自动解析JSON。
如果是字符串,则需要使用axios.get
对其进行解析。然后直接使用它:
JSON.parse
...或者如果它真的是.then(data => this.setState(JSON.parse(data) )
的价值,那么:
post
如果已经已经解析,那么我猜它不应该是.then(data => this.setState({post: JSON.parse(data)} )
的值,所以:
post