2017-08-06 48 views
0

在我的AWS lambda函數中,我可以訪問包含名爲body的參數的事件json。問題是這是一個原始的主體字符串(沒有解析成單獨的參數)。如何解析AWS lambda上的body params?

{ 
    input: { 
    body: "------WebKitFormBoundarys3wLu6HlaCBrIExe\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n------WebKitFormBoundarys3wLu6HlaCBrIExe\r\nContent-Disposition: form-data; name=\"media[]\"\r\n\r\nhthtth\r\n------WebKitFormBoundarys3wLu6HlaCBrIExe\r\nContent-Disposition: form-data; name=\"media[]\"\r\n\r\nlololol\r\n------WebKitFormBoundarys3wLu6HlaCBrIExe--\r\n" 
    } 
} 

我想採取,變成:

{ 
    foo: 'bar', 
    media: [ 
    "grgkoerpkge", 
    "twepgbopcib" 
    ] 
} 

我寧願不使用一些臃腫Express服務器只分析一個體字符串。

附:我試過使用body-parser,但它似乎只適用於Express作爲中間件

回答

0

將它作爲JSON發送到您的lambda。

然後,在您的lambda(如果您使用lambda-proxy集成),請使用JSON.parse(event.body)解析它。

+0

我無法控制什麼送給我的 - 這是從服務網絡掛接 – Ryan

0

您可以通過表單或「Content/Type」標題「application/x-www-form-urlencoded」傳遞參數。

你shoukd與「應用/ JSON的」傳遞