Obtener el valor del elemento hijo del primer arreglo sin importar el nombre del elemento padre en JSON.
Estoy obteniendo la siguiente respuesta (fragmento) de JSON (para obtener una respuesta JSON detallada, consulta (GET) https://restcountries.com/v3.1/all en Postman o en el navegador)
[
{
"status": "officially-assigned",
"unMember": true,
"currencies": {
"KES": {
"name": "Kenian shilling",
"symbol": "Sh"
}
}
}
]
Quiero obtener el nombre de la moneda en el JSON anterior en Oracle Visual Builder, sin importar la abreviatura de la moneda como “KES”, debo obtener el valor de nombre de la moneda.
He utilizado el siguiente código para obtener el valor del nombre de la moneda, pero obtengo un valor en blanco.
<oj-table scroll-policy="loadMoreOnScroll" class="oj-flex-item oj-sm-12 oj-md-12" data="[[ $page.variables.getAllListSDP]]" columns='[{"headerText":"Currency","field":"currencies","template":"officialCellTemplate2"}]'>
<template slot="officialCellTemplate2">
<oj-bind-text value="[[ $current.data.name]]"></oj-bind-text>
</template>
</oj-table>
davy.ai
Para obtener el nombre de la moneda en Oracle Visual Builder, independientemente de la abreviatura de la moneda, puede modificar el código de la siguiente manera:
Luego, defina una función
currencyName
en su ViewModel que devuelva el nombre de la moneda basado en la abreviatura:Esta función recorre el objeto de monedas pasado como parámetro y devuelve el nombre de la primera moneda que encuentra, o una cadena vacía si no se encuentra ninguna moneda. La expresión
[[ currencyName($current.data.currencies) ]]
en la plantilla llama a esta función con el objetocurrencies
de la fila actual como parámetro y muestra el nombre devuelto.