Как извлечь значения из массива Json в балерине 0,982,0

1

Я получаю результат запроса из базы данных как [{"id":}]. Когда я пытаюсь зафиксировать это значение "id" следующим образом, оно возвращает ноль.

var getClientIdResult=eaDBEndpoint->select(QUERY_GET_CLIENT_ID,(),accountId);
match getClientIdResult {
    table queryResult => {
        match <json>queryResult{
            json jsonResult => {
                clientId=check<int> jsonResult["id"];

            } error e => return e;
        }
    } error e => return e;
}

Я предполагаю, что эта причина из-за того, что результат JSON приходит в виде массива JSON, а код не захватывает значение id внутри объекта JSON.

Любые предложения относительно того, как получить значение "id", будут полезны.

Теги:
ballerina
ballerinalang

1 ответ

1
Лучший ответ

Поскольку это массив JSON, вы должны получить к нему доступ с помощью индекса, а затем вы можете выбрать элемент выбранного JSON с помощью ключа.

Пример: это выбирает начальный JSON массива JSON и получает его идентификатор. jsonResult[0].id

var getClientIdResult = eaDBEndpoint->select(QUERY_GET_CLIENT_ID,(),accountId);
match getClientIdResult {
    table queryResult => {
        match <json>queryResult {
            json jsonResult => {
                clientId = check <int>jsonResult[0].id;
            }
            error e => return e;
        }
    }
    error e => return e;
}

Поскольку он возвращает ошибку, если она произошла, вы можете просто использовать check следующим образом:

var getClientIdResult = eaDBEndpoint->select(QUERY_GET_CLIENT_ID,(),accountId);
table queryResult = check <table>getClientIdResult;
json jsonResult = check <json>queryResult;
clientId = check <int>jsonResult[0].id;

Пожалуйста, обратитесь к [1] для большего количества примеров того, как использовать массивы JSON.

[1] https://ballerina.io/learn/by-example/json-arrays.html

  • 0
    @idclakmal Получение ошибки как «error: ... несоответствующий ввод». ожидая '=>' 'для строки' json jsonResult.getJsonArray () => {'.
  • 0
    @NipunaDilhara Обновлен код. Можете ли вы проверить сейчас.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню