从JSON数组中筛选status为active的数据并重组结构
数据转换需求及处理示例
原始输入Payload
需校验其中details.addressDesc数组的status字段值仅为active或inactive:
{ "id": "123", "address": [ { "type": "ABC", "name": "name" } ], "details": [ { "Firstname": "firstname1", "lastname": "lastname1", "addressDesc": [ { "desc": "home", "status": "active" }, { "desc": "office", "status": "inactive" } ] }, { "Firstname": "firstname2", "lastname": "lastname2", "addressDesc": [ { "desc": "home", "status": "inactive" }, { "desc": "office", "status": "active" } ] }, { "Firstname": "firstname3", "lastname": "lastname3", "addressDesc": [ { "desc": "home", "status": "active" }, { "desc": "office", "status": "active" } ] } ] }
转换规则
- 校验
details.addressDesc中的status字段值只能是active或inactive - 当
status为active时,将对应details里的Firstname、lastname与该addressDesc的desc字段(重命名为addressName)、status组合成一条记录 - 若某条
details下所有addressDesc的status都是active,则为每个active项分别生成一条独立记录
预期输出结果
{ "addressDetails": [ { "Firstname": "firstname1", "lastname": "lastname1", "addressName": "home", "status": "active" }, { "Firstname": "firstname2", "lastname": "lastname2", "addressName": "office", "status": "active" }, { "Firstname": "firstname3", "lastname": "lastname3", "addressName": "home", "status": "active" }, { "Firstname": "firstname3", "lastname": "lastname3", "addressName": "office", "status": "active" } ] }
内容的提问来源于stack exchange,提问作者MyDream
相关产品推荐
相关产品推荐

