0

如果调用简单字符串,我有这个代码可以工作

$(document).ready( function() {
    app.initialized()
        .then(function(_client) {
          var client = _client;
          client.events.on('app.activated',
            function() {
                client.data.get('ticket')
                    .then(function(data) {
                        $('#issue_title').text("Issue:" + data.ticket.description);
                    })
                    .catch(function(e) {
                        console.log('Exception - ', e);
                    });
        });
    });
});

但是当我将它更改为数组对象时它不起作用

$(document).ready( function() {
    app.initialized()
        .then(function(_client) {
          var client = _client;
          client.events.on('app.activated',
            function() {
                client.data.get('ticket')
                    .then(function(data) {
                        $('#issue_title').text("Issue:" + data.ticket.attachments['name']);
                    })
                    .catch(function(e) {
                        console.log('Exception - ', e);
                    });
        });
    });
});

我正在使用这张票 ATTACHMENTS 有效载荷

Sample Payload

{
  "ticket": {
    "attachments": [],
    "cc_emails": [],
    "company_id": 1,
    "created_at": "2017-04-12T06:05:56.000Z",
    "custom_fields": [{
      "custom_number": null,
      "custom_line1": " "
    }],
}
4

1 回答 1

0

如果你能分享数组的价值,那就太棒了。

现在,您正尝试像导航对象一样导航数组,数组是基于索引的并且没有键:)

如果您可以这样更新有效负载

{
  "ticket": {
    "attachments": {
       name: "",
    },
    "cc_emails": [],
    "company_id": 1,
    "created_at": "2017-04-12T06:05:56.000Z",
    "custom_fields": [{
      "custom_number": null,
      "custom_line1": " "
    }],
}

否则我不确定你如何期待数组返回你的值。

如果是结构为 [key, value, key, value] 的数组,你可以去

data.ticket.attachments[data.ticket.attachments.indexOf('name') + 1]

最后,如果它是一个对象数组,你可以去

data.ticket.attachments.find(attachment => attachment.key === 
'name').YourKey
于 2019-11-28T06:37:15.877 回答