使用 JSON - AWS SDK for JavaScript

我們宣布了即將推 end-of-support 出的 AWS SDK for JavaScript v2。我們建議您移轉至 AWS SDK for JavaScript v3。有關日期,其他詳細信息以及如何遷移的信息,請參閱鏈接的公告。

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

使用 JSON

JSON 是一種人類和機器皆可讀取的資料交換格式。雖然名稱 JSON 是JavaScript 對象符號的首字母縮寫,但 JSON 的格式獨立於任何編程語言。

的 SDK 在發出請求時, 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

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

var pullParams = { FunctionName : 'slotPull', InvocationType : 'RequestResponse', LogType : 'None' };

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

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

lambda = new AWS.Lambda({region: 'us-west-2', apiVersion: '2015-03-31'}); // create JSON object for service call parameters var pullParams = { FunctionName : 'slotPull', InvocationType : 'RequestResponse', LogType : 'None' }; // invoke Lambda function, passing JSON object lambda.invoke(pullParams, function(err, data) { if (err) { console.log(err); } else { console.log(data); } });

傳回 JSON 格式的資料

JSON 提供了一種標準做法,能夠在需要同時傳送多個值的應用程式部分間傳遞資料。一般來說,API 中的用戶端類別方法會在傳遞至回呼函數的 data 參數內傳回 JSON。例如,以下是對 Amazon S3 用戶端類別getBucketCors方法的呼叫。

// call S3 to retrieve CORS configuration for selected bucket s3.getBucketCors(bucketParams, function(err, data) { if (err) { console.log(err); } else if (data) { console.log(JSON.stringify(data)); } });

的值data是 JSON 物件,在此範例中,用於描述指定 Amazon S3 儲存貯體目前 CORS 組態的 JSON 物件。

{ "CORSRules": [ { "AllowedHeaders":["*"], "AllowedMethods":["POST","GET","PUT","DELETE","HEAD"], "AllowedOrigins":["*"], "ExposeHeaders":[], "MaxAgeSeconds":3000 } ] }