首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确调用json postData

正确调用json postData
EN

Stack Overflow用户
提问于 2021-01-08 13:11:12
回答 2查看 58关注 0票数 0

你好,堆栈溢出成员。因此,我想在json组件中调用这个动作嵌套数组,但我不知道如何调用。如果我能得到一些很好的帮助

代码语言:javascript
复制
import React from 'react'
import data from "../data.json";
function Action() {
    return (
        <div>
         {data.map((postData) => {
        console.log(postData);
        return(
            <div key={postData.id}>
              <h1 >{postData.action.name}</h1>
            </div>    
        )})}
        </div>
    )
}

export default Action
代码语言:javascript
复制
[
 {
    "action":[{
    "id":"0",
    "image": "src=fsdf",
    "price" : "60$",
    "name" :"cs" 
    },
{
    "id":"1",
    "image": "src=fsdf",
    "price" : "6$",
    "name" :"whatever" 
}],

   "adventure":[{
        "id":"10",
        "image": "src=fsdf",
        "price" : "60$",
        "name" :"Cs" 
        }]
}
]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-08 13:19:38

您可以将代码更改为如下内容:

代码语言:javascript
复制
import data from "../data.json";
//...

export default function App() {
  return (
    <div className="App">
      <div>
        {data[0].action.map((postData) => {
          return (
            <div key={postData.id}>
              <h1>{postData.name}</h1>
            </div>
          );
        })}
      </div>
    </div>
  );
}

data是一个具有两个属性的对象的数组:actionadventure,它们是数组。

正如prasanth所指出的,考虑到当前数据,您还可以删除最外层的数组,并使数据成为单个object

然后您就可以在data.action上映射。

沙盒

票数 0
EN

Stack Overflow用户

发布于 2021-01-08 13:18:41

如果要以json格式访问数据,则需要将您的json文件存储在公用文件夹中,然后使用useEffect钩子并在useEffect() Hook本身中获取数据。

这里是Codesandbox上的工作演示:

https://codesandbox.io/s/json-fanda-stydg

完整代码:

代码语言:javascript
复制
import React from "react";
import { useEffect, useState } from "react";
import "./styles.css";

function App() {
  const [data, setData] = useState([]);
  useEffect(() => {
    fetch("./data/data.json")
      .then((response) => response.json())
      .then((json) => {
        console.log(json);
        setData(json);
      });
  });
  return (
    <div>
      {data.length > 0 &&
        data.map((postData) => {
          console.log(postData);
          return (
            <div key={data.id}>
              {postData.action.map((action) => {
                return <h1>{action.name}</h1>;
              })}

              <p>
                {postData.adventure.map((adventure) => {
                  return <h1>{adventure.name}</h1>;
                })}
              </p>
            </div>
          );
        })}
    </div>
  );
}

export default App;

JSON : You JSON非常好:)

代码语言:javascript
复制
[
  {
    "action": [
      {
        "id": "0",
        "image": "src=fsdf",
        "price": "60$",
        "name": "cs"
      },
      {
        "id": "1",
        "image": "src=fsdf",
        "price": "6$",
        "name": "whatever"
      }
    ],

    "adventure": [
      {
        "id": "10",
        "image": "src=fsdf",
        "price": "60$",
        "name": "Cs"
      }
    ]
  }
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65629645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档