使用 JSON - AWS SDK for JavaScript

AWS SDK for JavaScript V3 API 參考指南詳細說明 第 3 版 AWS SDK for JavaScript (V3) 的所有 API 操作。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 JSON

JSON 是資料交換的格式,可人類讀取且機器可讀取。雖然 JSON 名稱是 JavaScript 物件標記法的縮寫,但 JSON 的格式與任何程式設計語言無關。

AWS SDK for JavaScript 使用 JSON 在提出請求時將資料傳送至服務物件,並以 JSON 形式接收來自服務物件的資料。如需 JSON 的詳細資訊,請參閱 json.org

顯示 JSON 的一般格式和部分結構。

JSON 代表資料的方式有兩種:

  • 作為 物件,這是未排序的名稱/值對集合。系統會在左 ({) 和右 (}) 括號內定義物件。每個名稱/值對皆以名稱開始,接著是冒號,然後是值。名稱/值對則是以逗號分隔。

  • 作為陣列,這是值的排序集合。系統會在左 ([) 和右 (]) 括號內定義陣列。陣列中的項目皆是以逗號分隔。

下方 JSON 物件範例內含物件陣列,而這些物件代表卡片遊戲的卡片。每張卡片皆由兩個名稱/值對所定義;一個會指定可識別該卡片的唯一值,另一個則會指定可指向對應卡片映像的 URL。

var cards = [ {"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"} ];

JSON 即服務物件參數

以下是用於定義呼叫 AWS Lambda 服務物件之參數的簡單 JSON 範例。

const params = { FunctionName : funcName, Payload : JSON.stringify(payload), LogType : LogType.Tail, };

params 物件是由三個名稱/值對所定義,系統會在左右括號內以逗號分隔該物件。提供參數給服務物件方法呼叫時,名稱會依欲呼叫之服務物件方法的參數名稱而定。叫用 Lambda 函數時,FunctionNamePayload LogType是用來在 Lambda 服務物件上呼叫 invoke方法的參數。

將參數傳遞至服務物件方法呼叫時,請將 JSON 物件提供給方法呼叫,如下列叫用 Lambda 函數的範例所示。

const invoke = async (funcName, payload) => { const client = new LambdaClient({}); const command = new InvokeCommand({ FunctionName: funcName, Payload: JSON.stringify(payload), LogType: LogType.Tail, }); const { Payload, LogResult } = await client.send(command); const result = Buffer.from(Payload).toString(); const logs = Buffer.from(LogResult, "base64").toString(); return { logs, result }; };