Javascript 如何使用返回json的api请求从数组中提取嵌套对象?

Javascript 如何使用返回json的api请求从数组中提取嵌套对象?,javascript,arrays,json,monday.com,Javascript,Arrays,Json,Monday.com,我调用了一个API来返回查询。无法将此查询的格式更改为更易于操作。它有一个嵌套数组,我需要将它与更高级别的数据关联起来 具体地说,我试图在“column_values”中提取更高级别的id字段和“value”字段,并最好在新数组中将它们彼此关联。我觉得答案就在这里,但我无法掌握如何以正确的格式提取数据并将其关联在一起。大多数注释行可能都可以忽略,它们是我在使语法正确工作方面的其他尝试。抱歉弄得一团糟。我对这真的很陌生 const axios = require('axios') c

我调用了一个API来返回查询。无法将此查询的格式更改为更易于操作。它有一个嵌套数组,我需要将它与更高级别的数据关联起来

具体地说,我试图在“column_values”中提取更高级别的id字段和“value”字段,并最好在新数组中将它们彼此关联。我觉得答案就在这里,但我无法掌握如何以正确的格式提取数据并将其关联在一起。大多数注释行可能都可以忽略,它们是我在使语法正确工作方面的其他尝试。抱歉弄得一团糟。我对这真的很陌生

    const axios = require('axios')



const body = {
    query: ` query {boards(ids:307027197) {name, items {name id column_values(ids:lockbox_) {title id value text}}}} `,
  }
console.log("Requesting Query....");


function getApi (callback){
    setTimeout(function() {axios.post(`https://api.monday.com/v2`, body, {
        headers: {
            MY_API_KEY_DATA
          },
      })
      .catch(err => {
        console.error(err.data)
      })
      .then(res => {
          var queried = res
          var array = queried.data.data.boards[0].items
                  //console.log(queried)
                  //console.log(array)
             console.log(array.length)
                  //console.log("Total Items:", array.length)
          var i;
          for (i = 0; i < array.length; i++){

            callback(queried.data.data.boards[0].items)

          //callback([(queried.data.data.boards[0].items[i].column_values[0])])

        }
    }, 0);
})
};
getApi(callback => {
    console.log(callback)

            //console.log(parsed)
                //output for above
                //{"name":"address","id":"1234","column_values": 
                //[{"title":"Lockbox#","id":"lockbox_","value":"\"31368720\"","text":"31368720"}]}

            //console.log(JSON.parse(parsed))
             //output for above
            //[
            //       {
            //           name: 'address',
            //           id: '353428429',
            //           column_values: [ [Object] ]
            //       }
            //]
});
setTimeout(function() {
console.log("Query Returned")},1000);
const axios=require('axios'))
常数体={
query:`query{boards(id:307027197){name,items{name id column_value(id:lockbox){title id value text}}}}}},
}
console.log(“请求查询…”);
函数getApi(回调){
setTimeout(函数(){axios.post(`https://api.monday.com/v2`,主体{
标题:{
我的API密钥数据
},
})
.catch(错误=>{
控制台错误(错误数据)
})
。然后(res=>{
var=res
var array=queryed.data.data.boards[0]。项
//console.log(已查询)
//console.log(数组)
console.log(array.length)
//log(“项目总数:”,array.length)
var i;
对于(i=0;i{
console.log(回调)
//console.log(已解析)
//以上的输出
//{“名称”:“地址”,“id”:“1234”,“列值”:
//[{“标题”:“锁盒”;“id”:“锁盒”;“值”:“31368720\”,“文本”:“31368720”}]
//log(JSON.parse(已解析))
//以上的输出
//[
//       {
//姓名:'地址',
//id:'353428429',
//列值:[[Object]]
//       }
//]
});
setTimeout(函数(){
log(“查询返回”)},1000);

根据您的数据,列值是一个包含对象的数组。对于数组,您必须使用密钥访问它。对于您的情况,如果您的数据如下 风险值数据={ “姓名”:“地址”, “id”:“1234”, “列值”:[{“标题”:“锁箱”;“id”:“锁箱”;“值”:“31368720\”,“文本”:“31368720”}] }

您可以访问列\u值的id作为数据。列\u值[0]。id