Как проверить условие в массиве JSON. Учитывая приведенный ниже код, мне нужно выполнить фильтрацию по типу контакта. Если тип контакта содержит «Телефон», то должен отображаться тип телефона.
{
"entities": [
[
{
"contactType": [
"phone","email"
],
"type": "111",
"data": "111"
},
{
"contactType": [
"email"
],
"type": "222",
"data": "222"
}
],
[
{
"contactType": [
"skype","phone"
],
"type": "333",
"data": "333"
},
{
"contactType": [
"email"
],
"type": "444",
"data": "444"
}
]
]
}
В зависимости от типа контакта мне нужно вывести, например, для типа контакта "телефон" должен быть отображен следующий вывод:
{
"entities": [
{
"type": "111",
"data": "111"
},
{
"type": "333",
"data": "333"
}
]
}
Спецификация удара
{
"operation": "shift",
"spec": {
"entities": {
"*": {
"*": "entities.[]"
}
}
}
},
{
"operation": "shift",
"spec": {
"entities": {
"*": {
"contactType": {
"*": {
"phone": {
"type": "entities[&1].type",
"data": "entities[&1].data"
}
}
}
}
}
}
}
]
Сначала я объединил массив массивов в один массив, который содержит как телефон, так и тип электронной почты.
От типа контакта или электронной почты или телефона он должен быть отфильтрован в один массив.