我有一个筛选条件要应用于REST响应。此响应具有嵌套的子对象。对于正在进行的循环,任务和筛选器函数不适用于嵌套数组对象。请帮助我根据body.items[index].details.items[idex]筛选以下JSON数组对象。Id值。
因此,在这里,我希望只保留body.items.details.items中与300100619883728匹配的数组。
JSON:
{
"error": null,
"message": {
"summary": ""
},
"status": 200,
"headers": {},
"body": {
"items": [
{
"Name": "Test1",
"LastName": "ABC",
"details": {
"items": [
{
"Id": "300100619883728",
"Status": "Draft",
"subDetails": {
"items": [
{
"CurrentAddress": "Some address"
}
],
"totalResults": 1,
"count": 1,
"hasMore": false,
"limit": 25,
"offset": 0
}
},
{
"Id": "300100619883738",
"Status": "Draft",
"subDetails": {
"items": [
{
"CurrentAddress": "Some Address"
}
],
"totalResults": 1,
"count": 1,
"hasMore": false,
"limit": 25,
"offset": 0
}
}
],
"totalResults": 2,
"count": 2,
"hasMore": false,
"limit": 25,
"offset": 0
}
},
{
"Name": "Test2",
"LastName": "ABC",
"details": {
"items": [
{
"Id": "300100619883728",
"Status": "Draft",
"subDetails": {
"items": [
{
"CurrentAddress": "Some address"
}
],
"totalResults": 1,
"count": 1,
"hasMore": false,
"limit": 25,
"offset": 0
}
},
{
"Id": "300100619883739",
"Status": "Draft",
"subDetails": {
"items": [
{
"CurrentAddress": "Some Address"
}
],
"totalResults": 1,
"count": 1,
"hasMore": false,
"limit": 25,
"offset": 0
}
}
],
"totalResults": 2,
"count": 2,
"hasMore": false,
"limit": 25,
"offset": 0
}
}
],
"totalResults": 2
},
"ok": true,
"statusText": "OK"
}
筛选后的预期结果是数组结构不变:
{
"error": null,
"message": {
"summary": ""
},
"status": 200,
"headers": {},
"body": {
"items": [
{
"Name": "Test1",
"LastName": "ABC",
"details": {
"items": [
{
"Id": "300100619883728",
"Status": "Draft",
"subDetails": {
"items": [
{
"CurrentAddress": "Some address"
}
],
"totalResults": 1,
"count": 1,
"hasMore": false,
"limit": 25,
"offset": 0
}
}
],
"totalResults": 2,
"count": 2,
"hasMore": false,
"limit": 25,
"offset": 0
}
},
{
"Name": "Test2",
"LastName": "ABC",
"details": {
"items": [
{
"Id": "300100619883728",
"Status": "Draft",
"subDetails": {
"items": [
{
"CurrentAddress": "Some address"
}
],
"totalResults": 1,
"count": 1,
"hasMore": false,
"limit": 25,
"offset": 0
}
}
],
"totalResults": 2,
"count": 2,
"hasMore": false,
"limit": 25,
"offset": 0
}
}
],
"totalResults": 2
},
"ok": true,
"statusText": "OK"
}
filter我试图获得所需的结果,但无法访问嵌套对象的值和筛选器。
const filteredObj = obj.body.items.filter(function (item) {
return item.details.items == 300100619883728;
});