首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图理解JSON数据的不同结构

试图理解JSON数据的不同结构
EN

Stack Overflow用户
提问于 2022-07-13 12:16:11
回答 1查看 30关注 0票数 -1

嗨,我正在处理不同的JSON结构,我有两个JSON数据,我目前正在处理的JSON数据有一个对象数组。我试图理解JSON的结构,因为当我处理JSON数据时,我很难从它中得到值。我正在寻求帮助,任何人都可以解释我的数据结构,以及如何从它得到值。任何人都可以解释如何使用下面的JSON数据。

代码语言:javascript
复制
//MOCK DATA ONE

[
    {
      "key": "row-0",
  
      "cells": [
        {
          "key": "cell-0",
          "id": "ID-0",
          "headerName": "Name",
          "CustomerName": "CR One",
          "CustomerID": "P-01",
          "CustomerNumber": "123456789"
        }
      ]
    },
  
    {
      "key": "row-1",
      "cells": [
        {
          "key": "cell-1",
          "id": "ID-1",
          "headerName": "Name",
           "CustomerName": "CR Two",
          "CustomerID": "P-02",
          "CustomerNumber": "123456789"
        }
      ]
    },

    {
        "key": "row-2",
        "cells": [
          {
            "key": "cell-2",
            "id": "ID-2",
            "headerName": "Name",
            "CustomerName": "CR Three",
           "CustomerID": "P-03",
           "CustomerNumber": "123456789"
          }
        ]
      },

      {
        "key": "row-3",
        "cells": [
          {
            "key": "cell-3",
            "id": "ID-3",
            "headerName": "Name",
            "CustomerName": "CR Four",
           "CustomerID": "P-04",
           "CustomerNumber": "123456789"
          }
        ]
      },
      {
        "key": "row-4",
        "cells": [
          {
            "key": "cell-4",
            "id": "ID-4",
            "headerName": "Name",
            "CustomerName": "CR Five",
           "CustomerID": "P-05",
           "CustomerNumber": "123456789"
          }
        ]
    }
  ]



//Mock Data Two

[

  {
  
    "key":"row-0",

  "cells":[
  
  {"key":"cell-0","id":"ID-0","headerName":"customerName","customerName":"Customer One"},
  
  {"key":"cell-1","id":"ID-1","headerName":"CustomerRegID","CustomerRegID":"C-01"},

  {"key":"cell-2","id":"ID-2","headerName":"CustomerNumber","CustomerNumber":"1234567890"},
  
  {"key":"cell-3","id":"ID-3","headerName":"CustomerLabel","CustomerLabel":["Reg","Temp"]}
  ]
},
  
  {"key":"row-1",

  "cells":[

    {"key":"cell-0","id":"ID-0","headerName":"customerName","customerName":"Customer Two"},
  
   {"key":"cell-1","id":"ID-1","headerName":"CustomerRegID","CustomerRegID":"C-02"},

   {"key":"cell-2","id":"ID-2","headerName":"CustomerNumber","CustomerNumber":"1234567890"},
  
   {"key":"cell-3","id":"ID-3","headerName":"CustomerLabel","CustomerLabel":["Reg","Temp"]}
  ]
},
{"key":"row-2",

  "cells":[

 
    {"key":"cell-0","id":"ID-0","headerName":"customerName","customerName":"Customer Three"},
  
   {"key":"cell-1","id":"ID-1","headerName":"CustomerRegID","CustomerRegID":"C-03"},

   {"key":"cell-2","id":"ID-2","headerName":"CustomerNumber","CustomerNumber":"1234567890"},
  
   {"key":"cell-3","id":"ID-3","headerName":"CustomerLabel","CustomerLabel":["Reg","Temp"]}
  ]
},
{"key":"row-3",

  "cells":[
    {"key":"cell-0","id":"ID-0","headerName":"customerName","customerName":"Customer Four"},
  
   {"key":"cell-1","id":"ID-1","headerName":"CustomerRegID","CustomerRegID":"C-04"},

   {"key":"cell-2","id":"ID-2","headerName":"CustomerNumber","CustomerNumber":"1234567890"},
  
   {"key":"cell-3","id":"ID-3","headerName":"CustomerLabel","CustomerLabel":["Reg","Temp"]}
  ]
},
{"key":"row-4",

  "cells":[

    {"key":"cell-0","id":"ID-0","headerName":"customerName","customerName":"Customer Five"},
  
   {"key":"cell-1","id":"ID-1","headerName":"CustomerRegID","CustomerRegID":"C-05"},

   {"key":"cell-2","id":"ID-2","headerName":"CustomerNumber","CustomerNumber":"1234567890"},
  
   {"key":"cell-3","id":"ID-3","headerName":"CustomerLabel","CustomerLabel":["Reg","Temp"]}
  ]
}
]

//Logic此逻辑适用于模拟数据(模拟数据),但不适用于模拟数据

代码语言:javascript
复制
{mockData.map((values, index) => {
        console.log("VALUES", values);
        return values.cells.map(({ headerName, ...rest }) => {
          console.log("JSON", JSON.stringify(rest));
          console.log("REST", rest.CustomerName);---> getting undefined(I tried many approach everything is giving me undefined)
        });
      })}
EN

回答 1

Stack Overflow用户

发布于 2022-07-13 12:33:12

您的JSON是一个list of objects,具有keycells属性。

key是string类型,cellsobjects的另一个列表。单元对象有一些强制字段,如keyidheaderName,以及一些可选字段,如CustomerRegIDCustomerLabel

如果您很难从JSON获取值,我强烈建议您使用TypeScript。第一组数据等于以下类型:

代码语言:javascript
复制
type RootObject = RootItem[]

type RootItem = {
  key: string;
  cells: CellItem[];
}

type CellItem = {
  key: string;
  id: string;
  headerName: string;
  CustomerName: string;
  CustomerID: string;
  CustomerNumber: string;
};

一旦输入,访问它们非常简单。

代码语言:javascript
复制
const myJson: RootObject = [...]

console.log(myJson[0].key);                   // "row-0"
console.log(myJson[0].cells[0].key);          // "cell-0"
console.log(myJson[0].cells[1].CustomerName); // "CR Two"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72966145

复制
相关文章

相似问题

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