使用深度嵌套的json对象映射到数组

ReactDummy

这是我的第一篇文章,对于如何正确映射json数据感到非常困惑。

问题出在当您使用Object.keys映射用户地址属性时,一切都在良好的映射,直到到达“ geo”属性值为止。有什么方法可以更轻松地映射和渲染每个属性?

const style = {
  list: {
    listStyle: "none"
  }
};

const data = [
  {
    id: 1,
    name: "Leanne Graham",
    username: "Bret",
    email: "[email protected]",
    address: {
      street: "Kulas Light",
      suite: "Apt. 556",
      city: "Gwenborough",
      zipcode: "92998-3874",
      geo: {
        lat: "-37.3159",
        lng: "81.1496"
      }
    },
    phone: "1-770-736-8031 x56442",
    website: "hildegard.org",
    company: {
      name: "Romaguera-Crona",
      catchPhrase: "Multi-layered client-server neural-net",
      bs: "harness real-time e-markets"
    }
  }
];

function App() {
  return (
    <div className="App">
      <ul style={style.list}>
        {data.map(user => {
          return (
            <Fragment key={user.id}>
              <li>{user.username}</li>
              <ul style={style.list}>
                {Object.keys(user.address).map(key => {
                  return (
                    <li>
                      {key} {user.address[key]}
                    </li>
                  );
                })}
              </ul>
            </Fragment>
          );
        })}
      </ul>
    </div>
  );
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

六月

在geo上使用对象键,li检查键是否与geo相等,然后在其上进行映射。

<li>
   {key} {key === 'geo' ? Object.keys(user.address[key]).map(geo => <i>{user.address[key][geo]}</i>) : user.address[key] }
</li>

// Get a hook function
const {useState} = React;

const style = {
  list: {
    listStyle: "none"
  }
};

const data = [
  {
    id: 1,
    name: "Leanne Graham",
    username: "Bret",
    email: "[email protected]",
    address: {
      street: "Kulas Light",
      suite: "Apt. 556",
      city: "Gwenborough",
      zipcode: "92998-3874",
      geo: {
        lat: "-37.3159",
        lng: "81.1496"
      }
    },
    phone: "1-770-736-8031 x56442",
    website: "hildegard.org",
    company: {
      name: "Romaguera-Crona",
      catchPhrase: "Multi-layered client-server neural-net",
      bs: "harness real-time e-markets"
    }
  }
];

function App() {
  return (
    <div className="App">
      <ul style={style.list}>
        {data.map(user => {
          return (
            <React.Fragment key={user.id}>
              <li>{user.username}</li>
              <ul style={style.list}>
                {Object.keys(user.address).map(key => {
                  return (
                    <li>
                      {key} {key === 'geo' ? Object.keys(user.address[key]).map(geo => <i>{`${geo}: ${user.address[key][geo]} `}</i>) : user.address[key] }
                    </li>
                  );
                })}
              </ul>
            </React.Fragment>
          );
        })}
      </ul>
    </div>
  );
}


// Render it
ReactDOM.render(
  <App />,
  document.getElementById("react")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id="react"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将php数组映射到嵌套的json

来自分类Dev

将php数组映射到嵌套的json

来自分类Dev

将嵌套数组映射到父对象的键值对

来自分类Dev

RestKit:将嵌套数组映射到对象

来自分类Dev

Json 从内部嵌套的 json 属性映射到 java 对象

来自分类Dev

如何在SpringBoot中将嵌套的JSON映射到对象模型

来自分类Dev

根据单独的对象将数组映射到具有深度的对象

来自分类Dev

映射深层嵌套对象数组JSON文件

来自分类Dev

使用数组解析Json对象并使用Java中的Apache Spark映射到多个对

来自分类Dev

使用组合器将JSON数组映射到Scala对象时如何使用不同的名称

来自分类Dev

如何使用Ramda将对象数组映射到单个对象

来自分类Dev

如何使用Ramda将对象数组映射到单个对象

来自分类Dev

Java-无法使用Spring getForObject()将JSON数组映射到对象

来自分类Dev

如何将异构JSON数组映射到Java对象?

来自分类Dev

RestTemplate将JSON数组映射到对象列表

来自分类Dev

如何使用 Javascript 将嵌套的 JSON 映射到 HTML 表

来自分类Dev

使用AutoMapper将字符串数组映射到对象

来自分类Dev

使用ValueInjecter将字符串数组映射到对象

来自分类Dev

哈希映射到JSON数组

来自分类Dev

解析 JSON 以映射到数组

来自分类Dev

将数组映射到对象数组

来自分类Dev

使用Hyperolso Sync将多级JSON对象映射到NSManagedObject

来自分类Dev

领域:使用Alamofire将JSON映射到领域对象

来自分类Dev

使用Rx编程将JSON响应映射到对象(Moya)

来自分类Dev

如何使用Dojo Toolkit将JSON对象映射到表单?

来自分类Dev

使用GSON将通用JSON对象映射到Map接口

来自分类Dev

如何使用 jackson 将 Json 映射到 Java 对象

来自分类Dev

如何使用自动映射器从嵌套列表映射到目标对象?

来自分类Dev

嵌套的JSON对象未映射到服务器端对象

Related 相关文章

  1. 1

    将php数组映射到嵌套的json

  2. 2

    将php数组映射到嵌套的json

  3. 3

    将嵌套数组映射到父对象的键值对

  4. 4

    RestKit:将嵌套数组映射到对象

  5. 5

    Json 从内部嵌套的 json 属性映射到 java 对象

  6. 6

    如何在SpringBoot中将嵌套的JSON映射到对象模型

  7. 7

    根据单独的对象将数组映射到具有深度的对象

  8. 8

    映射深层嵌套对象数组JSON文件

  9. 9

    使用数组解析Json对象并使用Java中的Apache Spark映射到多个对

  10. 10

    使用组合器将JSON数组映射到Scala对象时如何使用不同的名称

  11. 11

    如何使用Ramda将对象数组映射到单个对象

  12. 12

    如何使用Ramda将对象数组映射到单个对象

  13. 13

    Java-无法使用Spring getForObject()将JSON数组映射到对象

  14. 14

    如何将异构JSON数组映射到Java对象?

  15. 15

    RestTemplate将JSON数组映射到对象列表

  16. 16

    如何使用 Javascript 将嵌套的 JSON 映射到 HTML 表

  17. 17

    使用AutoMapper将字符串数组映射到对象

  18. 18

    使用ValueInjecter将字符串数组映射到对象

  19. 19

    哈希映射到JSON数组

  20. 20

    解析 JSON 以映射到数组

  21. 21

    将数组映射到对象数组

  22. 22

    使用Hyperolso Sync将多级JSON对象映射到NSManagedObject

  23. 23

    领域:使用Alamofire将JSON映射到领域对象

  24. 24

    使用Rx编程将JSON响应映射到对象(Moya)

  25. 25

    如何使用Dojo Toolkit将JSON对象映射到表单?

  26. 26

    使用GSON将通用JSON对象映射到Map接口

  27. 27

    如何使用 jackson 将 Json 映射到 Java 对象

  28. 28

    如何使用自动映射器从嵌套列表映射到目标对象?

  29. 29

    嵌套的JSON对象未映射到服务器端对象

热门标签

归档