![](/img/trans.png)
[英]How do I loop JSON response to get specific data in Javascript or GAS
[英]How do I access children data in JSON response using Javascript/GAS
我試圖從 Json 響應中訪問兒童數據以在if語句中使用它,但我不知道如何。 有人知道怎么做嗎?
這是響應的屏幕截圖,我圈出了要訪問的對象。 如果批准具有值,即狀態需要掛起或批准,我只希望求和發生,否則,不會發生任何計算。
這是我使用的代碼,但不知道如何從 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
或status
數組:
content[0].approvals.data.map(el => el.status)
或所有status
的數組:
content.map(el => el.approvals.data.map(it => it.status)).flat(1)
但最后一個例子只適用於相當新的瀏覽器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.