javascript - 如何使用 Javascript/GAS 访问 JSON 响应中的 child 数据

标签 javascript json if-statement math google-apps-script

我正在尝试从 Json 响应访问子数据,以便在 if 语句中使用它,但我不知道如何操作。有人知道该怎么做吗?

这是响应的屏幕截图,我圈出了我想要访问的对象。我只希望当批准具有值时才进行求和,即 状态 需要等待或批准,否则,不会进行任何计算。

enter image description here

这是我使用的代码,但不知道如何访问 JSON 格式的approaval={data=[{status}]以便使用它

function showTimeData() {

    var users = getUsers()
    var endpoint = 'users/';
    var time_array = [];

    for (var i = 0; i < users.length; i++) {

        var url = 'https://api.10000ft.com/api/v1/users/' + users[i].id + '/time_entries?fields=approvals' + '&from=' + from + '&to=' + to + '&auth=' + TKF_AUTH;
        var response = UrlFetchApp.fetch(url, options);
        var info = JSON.parse(response.getContentText());
        var content = info.data;
        var total_hours = 0;


        for (var j = 0; j < content.length; j++) {
            if (content.data.approvals.data.length > 0) {
                hoursTotal = 0;
            }
            total_hours += parseInt(content[j].hours);
        }


        Logger.log('User name: ' + users[i].display_name + ' ' + 'User id: ' + users[i].id + '  ' + 'total hours: ' + total_hours)
    }

最佳答案

首先。您需要修复错误(在评论中的聊天中提到): 替换这个

if (content.data.approvals.data.length > 0) {
  hoursTotal = 0;
}

有了这个

if (content[j].approvals.data.length > 0) {
  hoursTotal = 0;
}
<小时/>

那么你需要的是:

content[0].approvals.data[0].status

状态数组:

content[0].approvals.data.map(el => el.status)

或所有状态的数组:

content.map(el => el.approvals.data.map(it => it.status)).flat(1)

但最后一个示例仅适用于相当新的浏览器。

关于javascript - 如何使用 Javascript/GAS 访问 JSON 响应中的 child 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59917235/

相关文章:

javascript - 如何从异步调用返回响应?

javascript - Webix - 在数据表中使用 URL 之前如何解析 JSON?

java - 这个 if/else 语句可以减少或改进吗?

Javascript 或 jQuery 传递 ID 值以显示或隐藏选定的 Div

javascript - 为数据表使用变量

javascript - React useReducer Hook 触发两次/如何将 props 传递给 reducer?

arrays - JSON 数组的 Postgres 查询

json - 在服务器上找不到 Wordpress wp-json -- localhost

PHP 如果继续执行,不管逻辑如何

python - 和/或在 python if 语句中的简写