Javascript 从包含子对象的对象列表中检索外部键

Javascript 从包含子对象的对象列表中检索外部键,javascript,json,Javascript,Json,我正在使用fetch检索json文件。json文件返回一个对象列表。每个对象也有一个对象。我正在尝试控制台记录外部对象。以下是该文件的内容。从下面的数据中,我试图记录这个列表['CNDNET','Acropolis','Other']。如果我使用Object.keys(数据),我会得到一个整数列表[0,1,2]。多谢各位 [ { "CNDNET":{ "application":[ {

我正在使用fetch检索json文件。json文件返回一个对象列表。每个对象也有一个对象。我正在尝试控制台记录外部对象。以下是该文件的内容。从下面的数据中,我试图记录这个列表['CNDNET','Acropolis','Other']。如果我使用Object.keys(数据),我会得到一个整数列表[0,1,2]。多谢各位

[
   {
      "CNDNET":{
         "application":[
            {
               "Elastic":[
                  "Missing Data",
                  "No Data/Data Feed Down",
                  "Content/Feature Request",
                  "Access Issue"
               ]
            },
            {
               "Kibana":[
                  "Website Access Issue",
                  "Access Issue",
                  "Site Down"
               ]
            },
            {
               "Logstash":[
                  "Missing Data",
                  "No Data/Data Feed Down",
                  "Content/Feature Request",
                  "Access Issue"
               ]
            },
            {
               "Kafka":[
                  "Missing Data",
                  "No Data/Data Feed Down",
                  "Content/Feature Request",
                  "Access Issue"
               ]
            },
            {
               "Phoenix":[
                  "Missing Data",
                  "No Data/Data Feed Down",
                  "Content/Feature Request",
                  "Access Issue"
               ]
            },
            {
               "Outlook":[
                  "Access Issue"
               ]
            },
            {
               "Domain Account":[
                  "Access Issue"
               ]
            },
            {
               "Token":[
                  "Access Issue"
               ]
            },
            {
               "Software":[
                  "Authenticate",
                  "Firefox",
                  "Swift"
               ]
            },
            {
               "Hardware":[
                  "Monitor",
                  "Printer"
               ]
            }
         ]
      }
   },
   {
      "Acropolis":{
         "application":[
            {
               "ACT":[
                  "Missing Data",
                  "No Data/Data Feed Down",
                  "Content/Feature Request",
                  "Access Issue"
               ]
            },
            {
               "ARTEMIS":[
                  "Missing Data",
                  "No Data/Data Feed Down",
                  "Content/Feature Request",
                  "Access Issue"
               ]
            }
         ]
      }
   },
   {
      "Other":{
         "application":[
            {
               "CMIS":[
                  "Website Access Issue",
                  "Other",
                  "Access Issue"
               ]
            },
            {
               "SharePoint":[
                  "Access Issue",
                  "Other"
               ]
            },
            {
               "GTMS":[
                  "Access Issue",
                  "Other"
               ]
            },
            {
               "Other":[
                  "Other"
               ]
            }
         ]
      }
   }
]

顶级
数据
数组中实际上包含三个对象。您可以使用来遍历这些对象,并为每个对象返回
Object.keys()

const data=[{“CNDNET”:{“application”:[{“Elastic”:[“缺失数据”,“无数据/数据反馈”,“内容/功能请求”,“访问问题”]},{“Kibana”:[“网站访问问题”,“访问问题”,“网站关闭”]},{“Logstash”:[“缺失数据”,“无数据/数据反馈”,“内容/功能请求”,“访问问题”]},{“Kafka”:[“缺失数据”,“无数据/数据反馈”,“内容/功能请求”,“访问问题”]},{“凤凰”:[“缺少数据”,“无数据/数据反馈”,“内容/功能请求”]},{“Outlook”:[“访问问题”]},{“域帐户”:[“访问问题”]},{“令牌”:[“访问问题”]},{“软件”:[“身份验证”,“Firefox”,“Swift”]},{“硬件”:[“监视器”、“打印机”]}}}}},{“卫城”:{“应用程序”[{“法案”:[“缺失数据”、“无数据/数据反馈”、“内容/功能请求”、“访问问题”]},{“ARTEMIS”:[“缺失数据”、“无数据/数据反馈”、“内容/功能请求”、“访问问题”]}},{“其他”:{“应用程序”[{“CMIS”:[“网站访问问题”、“其他”,”访问问题“]},{“SharePoint”:[“访问问题”,“其他”]},{“GTMS”:[“访问问题”,“其他”]},{“其他”:[“其他”]}]}]
constdatakeys=data.flatMap(o=>Object.keys(o));

console.log(dataKeys);
顶级
数据数组中实际上包含三个对象。您可以使用来迭代这些对象,为每个对象返回
对象.keys()

const data=[{“CNDNET”:{“application”:[{“Elastic”:[“缺失数据”,“无数据/数据反馈”,“内容/功能请求”,“访问问题”]},{“Kibana”:[“网站访问问题”,“访问问题”,“网站关闭”]},{“Logstash”:[“缺失数据”,“无数据/数据反馈”,“内容/功能请求”,“访问问题”]},{“Kafka”:[“缺失数据”“,”无数据/数据反馈“,”内容/功能请求“,”访问问题“]},“{”凤凰城“:[”缺失数据“,”无数据/数据反馈“,”内容/功能请求“,”访问问题“]},{”Outlook“:[”访问问题“]},{”域帐户“:[”访问问题“]},{”令牌“:[”访问问题“]},{”软件“:[”身份验证“,”火狐“,”Swift”},{”硬件“:”[“监视器”,“打印机”]}}}},{“卫城”:{“应用程序”[{“法案”:[“缺失数据”,“无数据/数据反馈”,“内容/功能请求”,“访问问题”]},{“ARTEMIS”:[“缺失数据”,“无数据/数据反馈”,“内容/功能请求”,“访问问题”]}},{“其他”:{“应用程序”[{“CMIS”:[“网站访问问题”,“其他”,“访问问题”]},{“SharePoint”:[“访问问题”,“其他”]},{“GTMS”:[“访问问题”,“其他”]},{“其他”:[“其他”]}]
constdatakeys=data.flatMap(o=>Object.keys(o));

console.log(dataKeys);
您可以遍历数组并返回键并将其存储在变量中。稍后,可以使用
concat()
flat()
方法将2D数组转换为1D数组,如下例所示

let result = arr.map((item) => {
  return Object.keys(item)
})

console.log(result.flat())
console.log([].concat(...result))

您可以迭代数组并返回键并将其存储在变量中。稍后,可以使用
concat()
flat()
方法将2D数组转换为1D数组,如下例所示

let result = arr.map((item) => {
  return Object.keys(item)
})

console.log(result.flat())
console.log([].concat(...result))

您在返回外部
数据
数组(0,1,2)索引的数组上调用
。您在返回外部
数据
数组(0,1,2)索引的数组上调用