

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 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 处理器文档。所使用的线路格式被视为合同的一部分。因此，您可以在活动和工作流接口上通过设置 `@Activities` 和 `@Workflow` 注释的 `DataConverter` 属性来指定 `DataConverter`。

框架将创建您在 `@Activities` 注释上指定的 `DataConverter` 类型的对象来序列化活动的输入并反序列化其结果。同样地，您在 `@Workflow` 注释上指定的 `DataConverter` 类型的对象将用于序列化您传递给工作流的参数，并为子工作流反序列化结果。除了输入之外，框架还向 Amazon SWF 传递其他数据，例如异常详细信息，工作流序列化器也将用于序列化这些数据。

您还可以提供 `DataConverter` 的实例 (如果您不希望框架自动创建它)。生成的客户端具有使用 `DataConverter` 的构造函数重载。

如果您没有指定 `DataConverter` 类型，并且没有传递 `DataConverter` 对象，则默认使用 `JsonDataConverter`。