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