【发布时间】:2022-01-22 18:28:04
【问题描述】:
我需要迭代一个可以具有相同标签名称但具有不同索引(如 0、1、2)的列表。所以我需要迭代列表,取出公共索引并从该索引中取出名称和值标签并形成另一个列表。
请求:
{
"characteristic": [
{
"name": "BucketName",
"value": "testName0",
"@type": "bucketInfo",
"arrayIndex": "0"
},
{
"name": "BucketName",
"value": "testName1",
"@type": "bucketInfo",
"arrayIndex": "1"
},
{
"name": "BucketName",
"value": "testName2",
"@type": "bucketInfo",
"arrayIndex": "2"
},
{
"name": "BucketId",
"value": "testId0",
"@type": "bucketInfo",
"arrayIndex": "0"
},
{
"name": "BucketId",
"value": "testId1",
"@type": "bucketInfo",
"arrayIndex": "1"
},
{
"name": "BucketId",
"value": "testId2",
"@type": "bucketInfo",
"arrayIndex": "2"
}
]
}
需要回复:
{
"bucketList": [
{
"BucketName": "testName0",
"BucketId": "testId0"
},
{
"BucketName": "testName1",
"BucketId": "testId1"
},
{
"BucketName": "testName2",
"BucketId": "testId2"
}
]
}
我们如何根据来自 alist 的索引来实现这一点?
当有更多元素时,如何处理这种情况以跳过如果值未到来并仅添加即将到来的标签。 示例请求:
{
"characteristic": [
{
"name": "BucketName",
"value": "testName0",
"@type": "bucketInfo",
"arrayIndex": "0"
},
{
"name": "BucketId",
"value": "testId0",
"@type": "bucketInfo",
"arrayIndex": "0"
},
{
"name": "BucketType",
"value": "testType1",
"@type": "bucketInfo",
"arrayIndex": "1"
},
{
"name": "BucketId",
"value": "testId1",
"@type": "bucketInfo",
"arrayIndex": "1"
},
{
"name": "BucketName",
"value": "testName2",
"@type": "bucketInfo",
"arrayIndex": "2"
},
{
"name": "BucketId",
"value": "testId2",
"@type": "bucketInfo",
"arrayIndex": "2"
},
{
"name": "BucketId",
"value": "testId3",
"@type": "bucketInfo",
"arrayIndex": "3"
},
{
"name": "BucketName",
"value": "testName3",
"@type": "bucketInfo",
"arrayIndex": "3"
},
{
"name": "BucketData",
"value": "testData3",
"@type": "bucketInfo",
"arrayIndex": "3"
}
]
}
预期响应:
{
"bucketlist": [
{
"BucketName": "testName0",
"BucketId": "testId0"
},
{
"BucketType": "testType1",
"BucketId": "testId1"
},
{
"BucketName": "testName2",
"BucketId": "testId2"
},
{
"BucketName": "testName3",
"BucketId": "testId3",
"BucketData": "testData3"
}
]
}
【问题讨论】: