Javascript 如何使用axios从json获取数据?(反应)

Javascript 如何使用axios从json获取数据?(反应),javascript,json,reactjs,ecmascript-6,axios,Javascript,Json,Reactjs,Ecmascript 6,Axios,我正在尝试获取这个JSON数据 { ID string `json:"id"` Amount int `json:"amount"` Month string `json:"month"` PayFailed bool `json:"pay_failed"` } 我这样写代码 但我认为这段代码无法获取数据。我做了console.log(),但什么也没出现。

我正在尝试获取这个JSON数据

 {

    ID                string `json:"id"`
    Amount            int    `json:"amount"`
    Month             string `json:"month"`
    PayFailed         bool   `json:"pay_failed"`
}

我这样写代码

但我认为这段代码无法获取数据。我做了console.log(),但什么也没出现。所以 我不知道如何检查以成功获取数据

const Pay = props => {
  const { user, month,} = props;

  const classes = useStyles();

  const [Pay, setPay] = useState([]);

  useEffect(() => {

   axios
    .get(https://test)
    .then(res => {
      setPay(res.data);
    })
    .catch(err => {
      alert("error");
    });

  }, [user]);

  return (
    <Table className={classes.table}>
      <TableHead>
        <TableRow>
          <TableCell >date of pay</TableCell>
          <TableCell >amont</TableCell>
          <TableCell >pay</TableCell>
        </TableRow>
      </TableHead>
      <TableBody>
        {
          Pay.filter(pay => pay.month === month).map(pay => (
            pay.data.map((pay, index) => (
              <TableRow key={index}>
                <TableCell>{pay.DeletedAt}</TableCell>
                <TableCell>{pay.amount}</TableCell>
                <TableCell>{pay.pay_failed}</TableCell>
              </TableRow>
            )
          )))
        }
      </TableBody>
    </Table>
  );
};

export default PayDone;


const Pay=props=>{
const{user,month,}=props;
const classes=useStyles();
const[Pay,setPay]=useState([]);
useffect(()=>{
axios
.得到(https://test)
。然后(res=>{
setPay(res.data);
})
.catch(错误=>{
警报(“错误”);
});
},[用户];
返回(
付款日期
阿蒙特
支付
{
Pay.filter(Pay=>Pay.month==month).map(Pay=>(
pay.data.map((支付,索引)=>(
{pay.DeletedAt}
{支付金额}
{pay.pay_失败}
)
)))
}
);
};
出口默认支付完成;

有人知道如何得到它吗?

你能分享更多细节吗?比如,如果您有任何错误,或者数据在您的终端是什么样子的,因为我们无法访问确切的API。在setPay(res.data)之前添加console.log并查看它返回的内容

虽然在您的案例中并不重要,但为什么要进行嵌套映射?在JSON模式中,没有对象字段。相反,它们都是原子值

Pay.filter(pay => pay.month === month).map((pay, index) => (
          <TableRow key={index}>
            <TableCell>{pay.DeletedAt}</TableCell>
            <TableCell>{pay.amount}</TableCell>
            <TableCell>{pay.pay_failed}</TableCell>
          </TableRow>
        ))
Pay.filter(Pay=>Pay.month==month).map((Pay,index)=>(
{pay.DeletedAt}
{支付金额}
{pay.pay_失败}
))
res.data()
或者更可能的是,
res.json()
,可以用括号括起来。你能
console.log(res)