当前位置: 首页 > 知识库问答 >
问题:

循环遍历JSON对象并将其转换为React组件

邹嘉荣
2023-03-14

我有一个JSON文件,里面有3个不同的对象(card1、card2和card3)。我想在JavaScript循环遍历这些对象,将它们转化为对象的数组,然后在我的React代码中,我试图将它们转化为组件,这取决于JSON文件中有多少组件。

到目前为止,我所拥有的:

import Card from "./card-elements/Card";
import json from "./data.json";

const list = [];
for (const key in json) {
    if (json.hasOwnProperty(key)) {
        list.push(key);
    }
}

function App() {
    return (
        <div className="card-area">
            {list.map(i => {
                return <Card title={i.title}
                             description={i.description}
                             borderColor={"red"}/>
            })}
        </div>
    );
}

export default App;

数据json:

{
    "card1": {
      "title": "Card One",
      "description": "This is card one's description. Straight from JSON file!"
    },
    "card2": {
      "title": "Card Two",
      "description": "Directly from the JSON file, this is card two's description"
    },
    "card3": {
      "title": "Card Three",
      "description": "And finally, this is the last cards description!"
    }
}

当前输出:我的反应没有出现错误,它只显示一个组件,并且“标题”和“描述”不显示

任何帮助都将不胜感激,谢谢!

共有1个答案

赏弘
2023-03-14

无需使用将每个项目推送到列表并使用它。而不是使用对象。条目

像这样试试


function App() {
    return (
        <div className="card-area">
            {(Object.entries(json) || []).map(([key, value]) => {
                return (
                    <Card
                        title={value.title}
                        description={value.description}
                        borderColor={"red"}
                    />
                );
            })}
        </div>
    );
}
 类似资料:
  • 问题内容: 我试图遍历一个json文件的对象数组以访问其变量的键和值,并使用jquery的getjson及其每个将它们附加到列表项。 我认为该解决方案应该与本文中的解决方案类似…但是我似乎无法使其完全发挥作用并显示结果…非常感谢您的帮助! json数据的格式如下: 并且html的格式应如下所示: 问题答案: 您要替换为空白数组,从而在运行时破坏数据。删除此行,它应该工作。 编辑 :您的代码中还有一

  • 问题内容: 我有一个JSON对象,我将其转换为并在此处进行一些处理。稍后,我想转换相同的缓冲区数据以转换为有效的JSON对象。 我正在研究Node V6.9.1 下面是我尝试过的代码,但是当我转换回JSON却无法打开该对象时遇到了。 所以我尝试使用检查方式打印整个对象 如果我尝试像数组一样读取它 我也尝试解析它抛出 我需要将其视为我创建的真实对象(我的意思是像上面声明的那样)。 请帮忙.. 问题答

  • 问题内容: 我正在尝试遍历以下内容 我到目前为止所得到的: 有任何想法吗? 问题答案: 在您的代码中,元素是JSON对象的数组,而不是JSON对象本身。元件,和是JSON的一部分内部对象JSON阵列。 您需要遍历数组 版画 我不知道您的代码片段来自何处。

  • 我有以下几门课: 我希望能够有一个具有JSON格式的文件,这样: 该文件是所有对象的列表。所以我试图创建两种方法: 将转换为JSON文件的方法。 方法,该方法将JSON文件读入。 在Java 8中实现这一点的最佳方式(最优雅的方式)是什么?我是否需要向类添加一些方法?还是有别的办法? 既然它是一个只包含字符串的对象列表,那么有什么优雅的东西吗?

  • 几个小时以来,我一直试图将所有坐标数组放入一个对象中,但似乎无法找到如何使用angular查找和推入坐标数组。 我以为我可以用angular.for来完成这个,但是我不能让它工作。我试图找到答案和教程,但似乎没有什么适合我的需要在这里。我可能没有完全理解。 以下是我的JSON: 这是我的最新尝试: 任何关于如何实现这一点的教程参考或示例(甚至更好),都将不胜感激! 我正在寻找以下结果: