从服务器接收数据作为json数据但不能解析数据

时间:2017-01-27 12:43:59

标签: json reactjs

我从服务器接收数据但无法解析它。当我解析时,我正在纠错 "在位置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;

1 个答案:

答案 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