iT邦幫忙

1

Line Bot範例的物件型別看不懂

  • 分享至 

  • xImage

如題:

參考網址:https://developers.line.biz/en/reference/messaging-api/#message-event.
這個網站讀取速度有點慢,請搜尋"Text message example",看到這個JSON的格式,他會在傳進Javascript後,轉成物件格式,如下:

var msg = JSON.parse(e.postData.contents);

在撰寫LINE webhook 事件時,這個msg物件的events特性(property)是個矩陣,矩陣不是都是這樣的格式[5,"df",{name:"Tom"}],但events的矩陣長這個樣子[{...},"message": {...}]
events[0]->我知道是個物件.
events[1]->看不懂,這不是物件中特性(proper)的表達方式嗎?為什麼在矩陣中會有物件的表示式?

看更多先前的討論...收起先前的討論...
陣列包物件就是這樣處理的。
會覺得很奇怪嘛??

那你一定沒看過
test->aaaa()[0]

這樣的用法
bill0704 iT邦新手 5 級 ‧ 2021-01-31 19:29:55 檢舉
給你一個很禪學的回答:在JS的世界裡,萬物都是物件
bill0704 iT邦新手 5 級 ‧ 2021-01-31 19:56:10 檢舉
你可以建一個陣列arr後,做arr.a=“好神奇”,之後用arr.a來證明你的陣列有物件的特性
bill0704 iT邦新手 5 級 ‧ 2021-01-31 19:56:11 檢舉
你可以建一個陣列arr後,做arr.a=“好神奇”,之後用arr.a來證明你的陣列有物件的特性
照著keyin就對了 其他不用管 反正各個語言有自己的特性 我是不會每個都去記 而且陣列跟物件近親 偶爾通婚一下也很正常 (誤
微笑 iT邦研究生 5 級 ‧ 2021-02-01 09:14:36 檢舉
我也覺得很奇怪
陣列包物件的處理不應該是 [{message:{}}]嗎?

不過我資歷也很淺...坐等大神回答
請再仔細看
看不清楚就複製下來用 vscode 看一下縮排
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
froce
iT邦大師 1 級 ‧ 2021-02-01 11:59:09
最佳解答

這樣是1個event,哪裡奇怪了?

{
  "replyToken": "0f3779fba3b349968c5d07db31eab56f",
  "type": "message",
  "mode": "active",
  "timestamp": 1462629479859,
  "source": {
    "type": "user",
    "userId": "U4af4980629..."
  },
  "message": {
    "id": "325708",
    "type": "text",
    "text": "Hello, world"
  }
},
event
 ->replyToken
 ->type
 ->mode
 ->timestamp

 ->source
 --->type
 --->userId

 ->message
 --->id
 --->type
 --->text

這樣的結構,看懂了嗎?

看更多先前的回應...收起先前的回應...
微笑 iT邦研究生 5 級 ‧ 2021-02-01 15:40:14 檢舉

只看他文章說的狀態,值會長這樣

[
    {
        "message": "123"
    },
    "message": "456"
]

不知道樓主說找到使用JsonArray直接包Map的情況是怎麼回事

正確應該要長這樣才對

[
    {
        "message": "123"
    },
    {
        "message": "456"
    }
]
微笑 iT邦研究生 5 級 ‧ 2021-02-01 15:47:49 檢舉

觀察官網的範例的話,好像沒甚麼問題,是樓主舉例上寫錯了

官方範例也有幫忙把階層做好,應該只是看錯?

只是我看樓上的留言每一個都說很正常,沒人舉出樓主的範例是有問題的,讓我有點混亂xD

尤其是那個arr.a的回答看到真的很玄

froce iT邦大師 1 級 ‧ 2021-02-01 16:12:57 檢舉

就因為他舉的範例是錯的,又不直接貼他看不懂的地方,沒人知道怎麼回答吧。XD

O口O iT邦新手 4 級 ‧ 2021-02-01 17:10:12 檢舉

看懂了,謝謝回答喔~

我要發表回答

立即登入回答