Учитывая JSON структурированный, как это:выражения JSONPath, чтобы получить значение из массива, при условии, или только первого значения
{
"name":"Some Guy",
"emails":[
{
"description":"primary",
"status":"UNVERIFIED",
"email":"[email protected]"
},
{
"description":"home",
"status":"VERIFIED",
"email":"[email protected]"
},
{
"description":"away",
"status":"VERIFIED",
"email":"[email protected]"
}
]
}
Я хотел бы JSONPath expression получить первой электронной почты со статусом VERIFIED
и если нет, тогда просто получите первое электронное письмо в массиве. Итак, с учетом приведенного выше примера, результатом будет [email protected]
. С учетом этого примера:
{
"name":"Some Guy",
"emails":[
{
"description":"primary",
"status":"UNVERIFIED",
"email":"[email protected]"
},
{
"description":"home",
"status":"UNVERIFIED",
"email":"[email protected]"
}
]
}
результатом будет [email protected]
.
Возможно ли это с помощью выражения JSONPath?
Какие реализации JSONPath вы используете? Вам нужно сделать это в одном выражении? – approxiblue
Сегодня я использую реализацию jayway Java, но если у вас есть другие реализации, которые будут работать, я мог бы выяснить, как интегрировать эту реализацию. Я имел в виду делать это в одном выражении «да», но если бы у вас был способ, когда его можно было бы выразить как цепочку выражений, я был бы открыт для рассмотрения этого. Он просто не может требовать, чтобы мой собственный код Java или Javascript обрабатывал промежуточные результаты. – jhericks