Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在React JavaScript中显示/映射嵌套的JSON字段_Javascript_Json_Reactjs_Material Ui - Fatal编程技术网

在React JavaScript中显示/映射嵌套的JSON字段

在React JavaScript中显示/映射嵌套的JSON字段,javascript,json,reactjs,material-ui,Javascript,Json,Reactjs,Material Ui,这是我第一次在这里发布。我目前正在发展JavaScript、React和MaterialUI方面的技能。我试图在表中显示来自示例嵌套JSON文件的账单数据 它登录到控制台,但我不明白为什么它不显示在我的表中。请帮帮我:( 这是我的JSON文件: [ { "data": { "transactions": [ { "referenceNumber": "2323&quo

这是我第一次在这里发布。我目前正在发展JavaScript、React和MaterialUI方面的技能。我试图在表中显示来自示例嵌套JSON文件的账单数据

它登录到控制台,但我不明白为什么它不显示在我的表中。请帮帮我:(

这是我的JSON文件:

[
  {
    "data": {
      "transactions": [
        {
          "referenceNumber": "2323",
          "transaction": "Reload",
          "details": {
            "sourceAccntNickname": "6jkp",
            "sourceAcountNicknae": "6*****48",
            "transactionDate": "Feb 08, 2018",
            "biller": [
              {
                "billerName": "AT&T",
                "billerAccntNumber": "6***98"
              }
            ],
            "recurring": false,
            "amount": 600000
          },
          "status": "failed"
        },
        {
          "referenceNumber": "2323",
          "transaction": "Reload",
          "details": {
            "sourceAccntNickname": "7jkp",
            "sourceAcountNicknae": "7*****48",
            "transactionDate": "Feb 09, 2018",
            "biller": [
              {
                "billerName": "AT&T",
                "billerAccntNumber": "6***98"
              }
            ],
            "recurring": true,
            "frequency": "Monthly",
            "amount": 700000
          },
          "status": "failed"
        }
      ]
    }
  }
]
以下是我的代码,用于将数据显示到我的表中:

<TableBody>
          {stableSort(SchedData, getComparator(order, orderBy)).map(
            (data, index) => {
              return (
                <TableRow tabIndex={-1} key={index}>
                  <TableCell>
                    {data.data.transactions.map((date, index) => {
                      return (
                        <Typography key={index}>
                          {date.details.transactionDate}
                        </Typography>
                      );
                    })}
                  </TableCell>
                  <TableCell>
                    {data.data.transactions.map((rec, index) => {
                      return (
                        <h1 key={index}>
                          {rec.details.recurring === false ? (
                            <Typography>Future-dated</Typography>
                          ) : (
                            <Typography>{rec.details.frequency}</Typography>
                          )}
                        </h1>
                      );
                    })}
                  </TableCell>
                  <TableCell align='right'>
                    {data.data.transactions.map((bil, index) => {
                      bil.details.biller.map((bilNameAcct, index) => {
                        console.log(
                          bilNameAcct.billerName,
                          bilNameAcct.billerAccntNumber
                        );
                        return (
                          <Typography key={index}>
                            {bilNameAcct.billerName}
                            <br />
                            {bilNameAcct.billerAccntNumber}
                          </Typography>
                        );
                      });
                    })}
                  </TableCell>
                  <TableCell align='right'></TableCell>
                  <TableCell align='right'></TableCell>
                </TableRow>
              );
            }
          )}
        </TableBody>

{stableSort(SchedData,getComparator(order,orderBy)).map(
(数据、索引)=>{
返回(
{data.data.transactions.map((日期,索引)=>{
返回(
{date.details.transactionDate}
);
})}
{data.data.transactions.map((rec,index)=>{
返回(
{rec.details.recurrential===false(
未来日期
) : (
{rec.details.frequency}
)}
);
})}
{data.data.transactions.map((bil,索引)=>{
bil.details.biller.map((bilNameAcct,index)=>{
console.log(
bilNameAcct.billerName,
bilNameAcct.billerAccntNumber
);
返回(
{bilNameAcct.billerName}

{bilNameAcct.bileraccntnumber} ); }); })} ); } )}
这是我的输出和控制台的图像副本:


非常感谢您提供的任何帮助和提示。提前感谢您的帮助!

您忘记了从
map()
函数返回结果

您的代码:

data.data.transactions.map((bil, index) => {
  bil.details.biller.map((bilNameAcct, index) => { 
    /* ... */ 
  })
})
工作代码:

data.data.transactions.map((bil, index) => {
  return bil.details.biller.map((bilNameAcct, index) => { 
    /* ... */ 
  })
})
完整的


{data.data.transactions.map((bil,索引)=>{
返回bil.details.biller.map((bilNameAcct,index)=>{
console.log(
bilNameAcct.billerName,
bilNameAcct.billerAccntNumber
);
返回(
{bilNameAcct.billerName}

{bilNameAcct.bileraccntnumber} ); }); })}
您在地图功能中错过了返回

 <TableCell align='right'>
    {data.data.transactions.map((bil, index) => {
      return bil.details.biller.map((bilNameAcct, index) => { // you missed it here
        console.log(
          bilNameAcct.billerName,
          bilNameAcct.billerAccntNumber
        );
        return (
          <Typography key={index}>
            {bilNameAcct.billerName}
            <br />
            {bilNameAcct.billerAccntNumber}
          </Typography>
        );
      });
    })}
  </TableCell>

{data.data.transactions.map((bil,索引)=>{
返回bil.details.biller.map((bilNameAcct,index)=>{//您在这里错过了它
console.log(
bilNameAcct.billerName,
bilNameAcct.billerAccntNumber
);
返回(
{bilNameAcct.billerName}

{bilNameAcct.bileraccntnumber} ); }); })}
 <TableCell align='right'>
    {data.data.transactions.map((bil, index) => {
      return bil.details.biller.map((bilNameAcct, index) => { // you missed it here
        console.log(
          bilNameAcct.billerName,
          bilNameAcct.billerAccntNumber
        );
        return (
          <Typography key={index}>
            {bilNameAcct.billerName}
            <br />
            {bilNameAcct.billerAccntNumber}
          </Typography>
        );
      });
    })}
  </TableCell>