> For the complete documentation index, see [llms.txt](https://docs.frends.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.frends.com/tasks/tasks/avro/deserialize.md).

# Deserialize

Task version: 2.0.0

Required Frends version: 5.7+

Required .NET version: 8.0

Compatible Agents: Crossplatform

Source code: <https://github.com/FrendsPlatform/Frends.Avro>

## Task Parameters

{% tabs %}
{% tab title="Input" %}

| Name                | Description                                                                                                                                                                                               |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| FilePath : `String` | <p>Gets or sets the path to the Avro file you want to deserialize.</p><p>The file must be a valid Avro format file.</p><p><br>Default: <code>-</code><br>Example: <code>C:\results\myfile.avro</code></p> |
| {% endtab %}        |                                                                                                                                                                                                           |

{% tab title="Options" %}

| Name                             | Description                                                                                                                                                                                                                                                                                        |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ThrowErrorOnFailure : `Boolean`  | <p>Gets or sets a value indicating whether to throw an exception when deserialization fails.</p><p>When set to true, exceptions will be thrown on failure. When set to false, errors will be returned in the Result object.</p><p><br>Default: <code>True</code><br>Example: <code>true</code></p> |
| ErrorMessageOnFailure : `String` | <p>Gets or sets a custom error message to use when deserialization fails and ThrowErrorOnFailure is false.</p><p>If empty, the original exception message will be used.</p><p><br>Default: <code>-</code><br>Example: <code>Custom error occurred during Avro deserialization</code></p>           |
| {% endtab %}                     |                                                                                                                                                                                                                                                                                                    |
| {% endtabs %}                    |                                                                                                                                                                                                                                                                                                    |

## Task Result

| Name                | Description                                                                                                                                                                                                                           |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Json : `Object`     | <p>Gets or sets the deserialized JSON data as a dynamic object. Contains a JArray with the deserialized Avro records when successful, or error information when failed.<br>Example: <code>\[{"foo": "bar", "number": 123}]</code></p> |
| Success : `Boolean` | <p>Gets or sets a value indicating whether the deserialization operation was successful.<br>Example: <code>true</code></p>                                                                                                            |
| Error : `Error`     | <p>Gets or sets the error information when the deserialization operation fails. This property is null when the operation is successful.<br>Example: <code>null</code></p>                                                             |

## Task Changelog

Changelog for Task Frends.Avro.Deserialize.

### \[2.0.0] - 2025-07-25

#### Added

* New Options tab with error handling parameters (ThrowErrorOnFailure, ErrorMessageOnFailure)
* Success property in Result to indicate task status
* Error object in Result with detailed failure info
* Error class with Message and AdditionalInfo properties
* Options class for task configuration
* ErrorHandler helper class for standardized error handling
* Improved error handling with centralized logic

#### Changed

* \[Breaking] Renamed AvroFilePath to FilePath for consistency with Frends naming conventions
* \[Breaking] Moved FilePath from old parameter location to Input tab
* Updated task structure to align with Frends development guidelines

### \[1.0.0] - 2024-05-31

#### Added

* Initial implementation


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.frends.com/tasks/tasks/avro/deserialize.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
