繁体   English   中英

在Google Apps脚本中解析的嵌套JSON中访问对象

[英]access object in parsed nested JSON in Google Apps Script

我正在尝试访问其中包含对象的学生标签数组(student_tags:tag:“请勿联系”)有人可以帮助我获取此数据的语法吗? 我很确定我在检索此数组时的语法不正确。

正在获取JSON数据:

    {  
   "id":"e90c4c93-207c-49f7-89c4-eb85b3315dd5",
   "created_by_user_id":"8560ed12-2858-4237-bea2-3dcab82637d3",
   "date_created":"2019-08-06T22:54:59.583257+00:00",
   "person_number":5973,
   "first_name":"Test",
   "middle_name":"James",
   "last_name":"Cook",
   "birth_name":null,
   "email":"test@gmail.com",
   "alt_email":null,
   "facebook_url":null,
   "linkedin_url":"https://www.linkedin.com/in/test-burns-273a5165/",
   "gender":"Male",
   "phone_numbers":[  
      {  
         "phone_type":"Mobile",
         "number":"449288809"
      },
      {  
         "phone_type":"Home",
         "number":"93938289"
      }
   ],
   "is_no_contact":false,
   "is_client":false,
   "student_detail":{  
      "onboarding_student_setting_id":"e189187a-cc91-43c6-ac44-635328b1e95a",
      "student_onboarding_setting":{  
         "id":"e189187a-cc91-43c6-ac44-635328b1e95a",
         "created_by_user_id":"562a63a2-e24e-4ff7-8358-dfb74ed6c70a",
         "title":"High School On-boarding Process",
         "description":"High School On-boarding Process",
         "is_default":false,
         "onboarding_steps":[  
            {  
               "step_id":"9cd30560-1c3c-4382-b8a2-505e78b9ce4d",
               "set_tags":[  
                  "Student Tag"
               ],
               "set_to_status":"Potential",
               "title":"Contact",
               "short_title":"Contact",
               "is_attachment_required":null
            },
            {  
               "step_id":"e6f90546-a516-416c-a880-9adc10358f1d",
               "set_tags":[  

               ],
               "set_to_status":"Pipeline",
               "title":"Program Orientation",
               "short_title":"PO",
               "is_attachment_required":null
            },
            {  
               "step_id":"8660df59-ddd8-4182-b6ca-c44e3de70969",
               "set_tags":[  

               ],
               "set_to_status":"Confirmed",
               "title":"Parental Consent",
               "short_title":"Parental Consent",
               "is_attachment_required":true
            }
         ],
         "is_disabled":false
      },
      "student_onboarding_history":[  

      ],
      "onboarding_steps_complete":null,
      "onboarding_percent":null,
      "graduating_student_setting_id":null,
      "student_graduating_setting":null,
      "student_graduating_history":[  

      ],
      "graduating_steps_complete":null,
      "graduating_percent":null,
      "is_active":true,
      "date_deactivated":"2019-08-09T03:36:57.977584",
      "deactivated_person_id":"562a63a2-e24e-4ff7-8358-dfb74ed6c70a",
      "deactviated_notes":null,
      "student_status":"Pipeline",
      "language_group":null,
      "heritage":null,
      "date_ics_set":"2019-08-08T04:28:48.832170",
      "ics_by_person_id":"562a63a2-e24e-4ff7-8358-dfb74ed6c70a",
      "ics_status":"Active",
      "ics_id":null,
      "ics_start":null,
      "ics_end":null,
      "ics_notes":null,
      "student_tags":[  
         {  
            "tag":"Do not contact",
            "date_added":"2019-08-13 06:06:13.012817"
         }
      ],
      "student_source":"Other",
      "date_of_birth":"2019-08-07",
      "semester_number_start":null,
      "semester_year_start":null,
      "semester_number_end":null,
      "semester_year_end":null,
      "location_address":{  
         "line_1":"34 Adelaide Avenue",
         "line_2":"",
         "suburb":"east lindfield",
         "postcode":"2322",
         "state":"",
         "country_code":"AU",
         "location_description":"east lindfield, ",
         "formatted_location":null,
         "latitude":"-33.7691871",
         "longitude":"151.1863407"
      },
      "emergency_first_name":"Someone",
      "emergency_last_name":"",
      "emergency_phone_numbers":[  

      ],
      "emergency_address":{  
         "line_1":"hi",
         "line_2":"",
         "suburb":"willoughby",
         "postcode":"4154",
         "state":"NSW",
         "country_code":"AU",
         "location_description":"willoughby, NSW",
         "formatted_location":null,
         "latitude":"-33.804179",
         "longitude":"151.2042376"
      },
      "emergency_relationship":"Auntie",
      "university":null,
      "campus":null,
      "degree_pool_id":[  

      ],
      "degree":null,
      "degree_major":null,
      "high_school":"School",
      "high_school_complete":null,
      "is_travel_required":null,
      "date_alumni_set":null,
      "alumni_set_by_person_id":null,
      "alumni_company":null,
      "alumni_job_title":null,
      "alumni_city":null,
      "alumni_state":null,
      "alumni_country_code":null,
      "alumni_notes":null,
      "is_at_risk":null,
      "date_at_risk_set":null,
      "at_risk_by_person_id":null,
      "at_risk_context":null,
      "at_risk_reasons":null,
      "at_risk_semester":null,
      "at_risk_year":null,
      "at_risk_notes":null,
      "quick_notes":null,
      "cv_url":null,
      "public_summary":null,
      "public_profile":null,
      "is_graduating":null,
      "graduating_by_person_id":null,
      "graduating_semester":null,
      "graduating_year":null,
      "graduating_notes":null,
      "advisor_users":[  
         {  
            "date_created":"2019-08-06T22:54:59.582970+00:00",
            "is_primary":true,
            "advisor_person_id":"8560ed12-2858-4237-bea2-3dcab82637d3"
         }
      ]
   },
   "contact_detail":{  
      "company_id":null,
      "contact_tags":null,
      "location_address":{  
         "line_1":null,
         "line_2":null,
         "suburb":null,
         "postcode":null,
         "state":null,
         "country_code":null,
         "location_description":null,
         "formatted_location":null,
         "latitude":null,
         "longitude":null
      },
      "job_title":null,
      "quick_notes":null,
      "is_primary":null,
      "is_billing":null,
      "is_student_contact":null,
      "advisor_users":null
   },
   "current_placements":null,
   "previous_placements":null
}

该函数返回JSON响应:

var url = "http://api.com/v1/";
  var response = UrlFetchApp.fetch(url, options);
  var message = response.getContentText();
  var code = response.getResponseCode();
  Logger.log(message)

  var tags = message["student_tags"][0]

 Logger.log(tags)

响应“您是否知道如何使用键/值循环访问相同的学生标签值(“请勿联系”)?”,我不确定我是否理解这个问题,但是以下代码可能是一个好方法开始的地方。 让我知道我是否偏离轨道...

var tags = message.student_detail.student_tags,
    i = 0,
    len = tags.length;
for (i; i < len; i++) {
    var obj = tags[i];
    for (a in obj) {
        console.log(a, obj[a])
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM