【发布时间】:2020-01-01 23:51:59
【问题描述】:
我正在从 REST API 检索具有以下结构的数据
job_execs =
[{
"build_id": 12,
"job": {
"name": "test_job"
},
"product": {
"name": "new_product"
},
"time_start": "2017-08-29T01:01:19.314000-07:00",
"time_end": "2017-08-29T01:17:07.990000-07:00",
"status": {
"name": "SUCCESS"
},
"stage_executions": [{
"stage": {
"name": "stage-checkout"
},
"status": {
"name": "SUCCESS"
},
"duration_millis": 119,
"time_start": "2017-08-29T01:16:43.901000-07:00"
},
{
"stage": {
"name": "stage-wiki"
},
"status": {
"name": "SUCCESS"
},
"duration_millis": 14225,
"time_start": "2017-08-29T01:16:29.599000-07:00"
},
{
"stage": {
"name": "stage-upload"
},
"status": {
"name": "SUCCESS"
},
"duration_millis": 14225,
"time_start": "2017-08-29T01:16:29.599000-07:00"
}
]
},
{
"build_id": 13,
"job": {
"name": "test_job"
},
"product": {
"name": "new_product"
},
"time_start": "2017-08-29T01:01:19.314000-07:00",
"time_end": "2017-08-29T01:17:07.990000-07:00",
"status": {
"name": "SUCCESS"
},
"stage_executions": [{
"stage": {
"name": "stage-checkout"
},
"status": {
"name": "SUCCESS"
},
"duration_millis": 400,
"time_start": "2017-08-29T01:16:43.901000-07:00"
},
{
"stage": {
"name": "stage-wiki"
},
"status": {
"name": "SUCCESS"
},
"duration_millis": 34,
"time_start": "2017-08-29T01:16:29.599000-07:00"
},
{
"stage": {
"name": "stage-upload"
},
"status": {
"name": "SUCCESS"
},
"duration_millis": 250,
"time_start": "2017-08-29T01:16:29.599000-07:00"
}
]
}
]
我要做的是深入了解每个作业的阶段执行情况,并为每个阶段名称生成一个列表。我想遍历每个作业并将 duration_millis 附加到适当的阶段列表中。
因此,使用我在上面发布的 JSON,我希望创建以下列表:
['stage_checkout', 119, 400]
['stage_wiki', 14225, 34]
['stage_upload', 1215, 250]
我该如何做到这一点?
任何指针甚至起点都会有所帮助。
【问题讨论】:
-
您可以使用
for循环 (developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…) 遍历每项作业,并为每个作业提取所需的数据,并将其附加到您正在创建的新列表中。如果您仍然无法使其工作,请尝试一些并显示代码;) -
这里的json无效,你确定这是正确的json吗?
-
部分括号丢失,json无效
-
我正在使用的 json 是有效的,这是一个错字,我刚刚修复了
-
仍然无效。
标签: javascript arrays list