#transform #jsonata
Вопрос:
У меня есть массив строк:
"Street": ["10 First Avenue","Third Floor"]
Что я хотел бы преобразовать в массив объектов с помощью jsonata:
https://try.jsonata.org/
"street": [
{
"attributes": {"line": "1"},
"text": "10 First Avenue"
},
{
"attributes": {"line": "2"},
"text": "Third Floor"
}
]
У меня это работает, когда я принимаю фиксированную длину, но есть различия, и я не уверен, как получить индекс.
У меня есть работоспособное использование
Street @ $street.$.[
{
"attributes": {"line": "1"},
"text": $street
}
]
Но у меня все еще нет номера линии
Ответ №1:
Вы можете зафиксировать позицию в последовательности с помощью #
оператора. Это число, поэтому вам нужно будет привести его к строке, если это то, что вам нужно:
Street @ $street #$i.{
"attributes": {"line": $string($i 1)},
"text": $street
}