Google apps script Json未定义问题

Google apps script Json未定义问题,google-apps-script,trello,Google Apps Script,Trello,我在json解析中遇到了一个问题,当我尝试循环遍历json数据时,我一直没有定义 以下是一直返回未定义的Json代码示例: [{"id":"5f99b552b2c25b37596871e3","value":{"number":"1"},"idCustomField":"5f998faf4bb46e574ac28514","idModel&quo

我在json解析中遇到了一个问题,当我尝试循环遍历json数据时,我一直没有定义

以下是一直返回未定义的Json代码示例:

 [{"id":"5f99b552b2c25b37596871e3","value":{"number":"1"},"idCustomField":"5f998faf4bb46e574ac28514","idModel":"5f907f344b88092b1d0e03d1","modelType":"card"}]
我使用以下方法获取有效负载,然后对其进行解析:

        var response2 = UrlFetchApp.fetch(url + "cards/" + card.id + "/customFieldItems?"+ key_and_token);  
        customfielditems = JSON.parse(response2.getContentText()).actions;

当我尝试循环通过我的对象时,我得到一个未定义的对象值。循环如下所示:

for (var m=0; m < customfielditems.length; m++) {

customfielditemid = customfielditems[m].value

}
for(var m=0;m
请注意,我甚至没有达到提供价值的程度。我得到一个错误,指示“.length”未定义。聚焦对象时,对象本身(customfielditems)即使在解析后也是未定义的


我很乐意看到关于我做错了什么的链接或建议。

从您脚本的URL,我想您可能正在使用。当看到官方文档“获取卡的自定义字段项”时,响应值似乎是
数组
。样本响应值如下所示

[
  {
    "id": "5abbe4b7ddc1b351ef961414",
    "value": {
      "checked": "true"
    },
    "idCustomField": "5abbe4b7ddc1b351ef961414",
    "idModel": "5abbe4b7ddc1b351ef961414",
    "modelType": "card"
  }
]
  customfielditemid = Object.values(customfielditems[m].value); // or Object.values(customfielditems[m].value)[0];
从上面的响应值中,我了解到您的
response2.getContentText()
是您的问题中
[{“id”:“5F99B552B2C25B3759596871E3”,“value”:{“number”:“1”},“idCustomField”:“5F998FAF4B46E574AC28514”,“idModel”:“5f907f344b88092b1d0e03d1”,“modetype”:“card”}
。如果我的理解正确,在本例中,
customfielditems=JSON.parse(response2.getContentText()).actions的
customfielditems
未定义。我认为你的问题是因为这个

如果要从响应值中检索
,下面的修改如何

修改脚本: 注:
  • 在这个修改后的脚本中,它假设您已经能够使用
    url+“cards/”+card.id+“/customFieldItems?”+key\u和\u token
    使用API。请小心这个
参考:

从您脚本的URL,我认为您可能正在使用。当看到官方文档“获取卡的自定义字段项”时,响应值似乎是
数组
。样本响应值如下所示

[
  {
    "id": "5abbe4b7ddc1b351ef961414",
    "value": {
      "checked": "true"
    },
    "idCustomField": "5abbe4b7ddc1b351ef961414",
    "idModel": "5abbe4b7ddc1b351ef961414",
    "modelType": "card"
  }
]
  customfielditemid = Object.values(customfielditems[m].value); // or Object.values(customfielditems[m].value)[0];
从上面的响应值中,我了解到您的
response2.getContentText()
是您的问题中
[{“id”:“5F99B552B2C25B3759596871E3”,“value”:{“number”:“1”},“idCustomField”:“5F998FAF4B46E574AC28514”,“idModel”:“5f907f344b88092b1d0e03d1”,“modetype”:“card”}
。如果我的理解正确,在本例中,
customfielditems=JSON.parse(response2.getContentText()).actions的
customfielditems
未定义。我认为你的问题是因为这个

如果要从响应值中检索
,下面的修改如何

修改脚本: 注:
  • 在这个修改后的脚本中,它假设您已经能够使用
    url+“cards/”+card.id+“/customFieldItems?”+key\u和\u token
    使用API。请小心这个
参考:

通过从API猜测您的响应值,我建议使用修改点作为答案。你能确认一下吗?如果我误解了你的问题,我很抱歉。请你参考你试图获取的URL,并提供相应的参考文档。通过从API猜测你的响应值,我建议修改点作为答案。你能确认一下吗?如果我误解了您的问题,我很抱歉。请您参考您试图获取的URL,并提供相应的参考文档好吗?在JSON.parse工作并正常工作后删除.action非常感谢您的帮助。@Maxamis4感谢您的回复。我很高兴您的问题得到了解决。在JSON.parse工作之后删除.action,它工作得很好。非常感谢您的帮助。@Maxamis4感谢您的回复。我很高兴你的问题解决了。