返回索引

时间:2019-03-22 14:20:40

标签: javascript zapier

我正在Zapier中构建自定义集成,并且遇到了一个问题,在该问题中,我正在(对Mavenlink)进行的API调用返回具有任意键的对象(在下面的示例中为235896815)。但是,Zapier在返回结果时只能使用数组(而不是对象)。我需要一种在不知道键是什么的情况下在返回的对象中获取数组的方法。我的一个潜在想法是始终返回索引处第一个对象的结果。那是解决这个问题的最好方法吗?如果是这样,我将如何去做?也欢迎其他想法。

示例输出:

{
  "235896915": {
    "can_edit": true,
    "subject_type": "story",
    "account_id": 4150797,
    "subject_id": 390078195,
    "updated_at": "2019-03-21T14:26:16-07:00",
    "value": [
      1406325
    ],
    "display_value": "Nicole Patel",
    "setter_id": "10149395",
    "custom_field_id": "181017",
    "created_at": "2019-03-21T14:26:16-07:00",
    "custom_field_name": "Active Assignee",
    "type": "single",
    "id": "235896915"
  }
}

这是我打的电话:

const options = {
  url: `https://api.mavenlink.com/api/v1/custom_field_values.json?subject_type=story&with_subject_id=${bundle.inputData.subject_id}`,
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${bundle.authData.access_token}`,
    'Accept': 'application/json'
  },
  params: {
    'subject_id': bundle.inputData.with_subject_id,
    'id': bundle.inputData.id,
    'display_value': 'Active Assignee'
  }
}

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = z.JSON.parse(response.content);

    // You can do any parsing you need for results here before returning them

    return results.custom_field_values; //return object in an array
  });
```

1 个答案:

答案 0 :(得分:0)

您可以将对象转换为带有Object.values的数组。

var arr = Object.values(results);