如何使用react访问JSON格式的对象数组中的特定元素?

时间:2018-07-19 21:22:10

标签: javascript json reactjs react-redux

我已经得到了一个json文件(data.json),其中包含数组中的多个对象,并且想在每个这些对象中获取某个键的值。我正在使用react redux来获取这些值,然后将它们显示为网页上的表格。

以下文件是文件的简化版本,该文件在每个数组元素中都有很多键。这就是为什么我不确定要使用 “ state = {...”,因为我不得不列出太多的元素。

{"state":"OK","display":"success","information":
[
    {"name":"North","type":"REGION"},
    {"name":"South","type":"REGION"},
    ....

所需的输出将显示在这样的网页上:

北部 南 ... ...

2 个答案:

答案 0 :(得分:0)

数组方法filter()可以解决您的问题。 给定对象数组后,您可以根据条件进行过滤。

myArrayOfObjects.filter(object => object.name === "North")

答案 1 :(得分:0)

据我了解,您想使用name属性创建表。这是一个简单的例子。

    class App extends React.Component {
      state = {
          "state": "OK",
          "display": "success",
          "information": [
            { "name": "North", "type": "REGION" },
            { "name": "South", "type": "REGION" },
          ],
      };
      render() {
        return (
          <div>
            <table>
              <tr>
                {
                  this.state.information.map( el => 
                    <td>{el.name}</td>
                  )
                }
              </tr>
            </table>
          </div>
        );
      }
    }
    
    ReactDOM.render(
    <App />,
    document.getElementById("app")
    );
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>