我試圖深入挖掘嵌套的Slack有效負載,以獲取嵌入在原始消息中的某些「字段」。在Google腳本中解析JSON格式的Slack有效負載
我甚至不確定這是甚至是JSON .. Slack否認他們甚至支持它..但我必須將其作爲JSON處理?無論如何,也許有人可以照亮這一點。
總之..這是我的腳本鑽入有效載荷:
function doPost(e) {
var payload = e.parameter.payload;
var json = JSON.parse(payload);
var attached = json["original_message"].attachments;
...
哪個var attached
是:
{
color=7CD197, callback_id=123,
text=Invite *Hello* to this slack?, id=1,
fields=[Ljava.lang.Object;@710f54d9,
fallback=Something went wrong.. try again,
actions=[Ljava.lang.Object;@67e92a25
}
訪問fields
對象我希望使用的語法如下:
var field_value = attached.fields[0].value;
我相信這應該是正確的,因爲我wa nt來檢索fields
對象的第一個嵌套對象(可以有多個)。原始消息字段說明如下:
"fields": [
{
"title": "Name",
"value": invitation_name,
"short": true
},
{
"title": "Email",
"value": invitation_email,
"short": true
}
],
其中invitation_name
和invitation_email
傳遞值。如上面我所期望的var field_value = attached.fields[0].value;
返回的invitation_name
傳遞的值
所以給出這樣的邏輯。但是我得到以下幾點:
TypeError: Cannot read property "0" from undefined.
原來即將到來的淨荷從var payload = e.parameter.payload;
不包括fields
對象..但JSON.parse
把它變成fields=[Ljava.lang.Object;@710f54d9,
..
https://www.mkyong.com/javascript/how-to-access-json-object-in-javascript/
給出了一個很好的概述如何鑽入到JSON文件,我已經習慣了很好的效果來獲得我想要的一切..除了現在我不能再挖掘沒有生成invalid
返回..
請更具體的正是你正在嘗試做的。這應該是一個消息傳出webhook附件? (順便說一句,這當然是JSON,如[文檔](https://api.slack.com/incoming-webhooks)上清楚說明的 –