

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

# DataConverters
<a name="dataconverters"></a>

 當您的工作流程實作呼叫遠端活動時，傳遞給它的輸入和活動的執行結果都必須序列化，才可透過線路傳送它們。為達到此目的，框架會使用 DataConverter 類別。這是您可實作以提供您個人序列化程式的抽象類別。架構中提供以 Jackson 序列化程式為基礎的預設實作 `JsonDataConverter`。如需詳細資訊，請參閱 [適用於 Java 的 AWS SDK 文件](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/simpleworkflow/flow/JsonDataConverter.html) 。如需 Jackson 如何執行序列化以及可用來影響它的 Jackson 註釋之詳細資訊，請參閱 Jackson JSON Processor 文件。使用的線路格式視為合約的一部分。因此，您可以設定 `@Activities` 和 `@Workflow` 註釋的 `DataConverter` 屬性，以在您的活動和工作流程界面上指定 `DataConverter`。

框架會建立您在 `@Activities` 註釋中指定之 `DataConverter` 類型的物件，以序列化活動的輸入和還原序列化其結果。同樣地，您在 `@Workflow` 註釋中指定之 `DataConverter` 類型的物件，會用來序列化您傳遞至工作流程的參數，並在子工作流程案例中還原序列化結果。除了輸入之外，框架也會將其他資料傳遞給 Amazon SWF，例如例外狀況詳細資訊，工作流程序列化程式也會用於序列化此資料。

如果您不希望框架自動建立 `DataConverter` 的執行個體，您也可以自行提供。產生的用戶端具有包含 `DataConverter` 的建構函數多載。

如果您未指定 `DataConverter` 類型，也未傳遞 `DataConverter` 物件，根據預設會使用 `JsonDataConverter`。