Я получаю результат запроса из базы данных как [{"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", будут полезны.
Поскольку это массив 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.