【问题标题】:How to extract information from nested arrays with multiple objects?? (AdminReport.Activities.list)如何从具有多个对象的嵌套数组中提取信息? (AdminReport.Activity.list)
【发布时间】:2020-08-05 13:01:32
【问题描述】:

谁能指出我正确的方向? 我搜索了很多...我没有运气映射...或“查找”或提取我需要的数据。

我的代码:

function checkMeetCode(meetCode, index, searchDate) {
  var ss=SpreadsheetApp.getActive().getSheetByName('AsistenciaMeet');
  var colB = ss.getRange("D3:D").getValues(); 
  var filasLlenasLengthB = colB.filter(String).length; // 

  var userKey = 'all';
  var applicationName = 'meet';
  var emailAddress = colB[index];
                               Logger.log("Index / Alumno: "+index+" / " + emailAddress);
  var optionalArgs = {
      event_name: "call_ended",
      endTime: searchDate,   
      startTime: fechaRestada(searchDate),
      filters: "identifier==" + emailAddress + ",meeting_code==" + meetCode 
    };

      var response = AdminReports.Activities.list(userKey, applicationName, optionalArgs)
      Logger.log("RESPONSE: "+response);

      var actividad = response.items;

      if (actividad == null) {
         // do nothing
      }
      else {

        **// HERE IS WHERE I AM TRYING TO FIND / EXTRACT INFORMATION FROM "response"
        // READ BELOW PLEASE.**
      }

}

需要帮助: 我想查找/提取 "duration_seconds" 的 intValue:

结果来自:

Logger.log("RESPONSE: "+response);

响应:{"kind":"admin#reports#activities","etag":"\"JDMC8884sebSctZ17CIssbQ/IhilrSKVziEhoZ7URUpQ-NrztHY\"","items":[{"events":[{"parameters": [{"name":"video_send_seconds","intValue":"1829"},{"name":"screencast_recv_packet_loss_mean","intValue":"0"},{"name":"identifier_type","value": "email_address"},{"name":"video_send_packet_loss_max","intValue":"0"},{"name":"endpoint_id","value":"meet_android_4154513448557872"},{"name":"video_recv_long_side_median_pixels", "intValue":"320"},{"name":"calendar_event_id","value":"44jr4vu3qo75q6bvkknq_20200421T213000Z"},{"name":"video_send_fps_mean","intValue":"29"},{"name": "video_recv_short_side_median_pixels","intValue":"180"},{"name":"network_estimated_download_kbps_mean","intValue":"351"},{"name":"duration_seconds","intValue":"1830" },{"name":"video_send_bitrate_kbps_mean","intValue":"762"},{"name":"network_recv_jitter_msec_max","intValue":"130"},{"name":"ip_address" ,"值":"186.59.21.55"},{"名称":"audio_send_seconds","intValue": "1829"},{"name":"screencast_recv_packet_loss_max","intValue":"0"},{"name":"video_recv_seconds","intValue":"1818"},{"name":"network_rtt_msec_mean", "intValue":"36"},{"name":"video_send_long_side_median_pixels","intValue":"640"},{"name":"screencast_recv_seconds","intValue":"1829"},{"name": "product_type","value":"meet"},{"name":"video_recv_packet_loss_max","intValue":"0"},{"name":"is_external","boolValue":false}],"name ":"call_ended","type":"call"}] ...

【问题讨论】:

    标签: arrays object properties nested


    【解决方案1】:

    好的,大约 8 小时后...我能够让它工作。

    var insideParameters = response["items"][0]["events"][0]["parameters"];
    Logger.log(insideParameters.length);
    
    for (var i = 30; i<insideParameters.length;i++){ // its always located above i = 30...
      if(insideParameters[i].name === "duration_seconds"){
        var duration = insideParameters[i].intValue;
        Logger.log(duration);
      }   
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-20
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      • 2021-01-14
      • 2020-07-20
      相关资源
      最近更新 更多