# JsonCodec Constructors

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization.systemtextjson/orleans.serialization.jsoncodec/)

## JsonCodec(IEnumerable&lt;ICodecSelector&gt;, IEnumerable&lt;ICopierSelector&gt;, IOptions&lt;JsonCodecOptions&gt;) {#constructor-system-collections-generic-ienumerable-orleans-serialization-seriali-f0baafb8}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.systemtextjson/orleans.serialization.jsoncodec/constructors/constructor-system-collections-generic-ienumerable-orleans-serialization-seriali-f0baafb8/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization.SystemTextJson/JsonCodec.cs#L42-L50)

```csharp
public JsonCodec(IEnumerable<ICodecSelector> serializableTypeSelectors, IEnumerable<ICopierSelector> copyableTypeSelectors, IOptions<JsonCodecOptions> options)
```

Initializes a new instance of the [JsonCodec](/orleans/docs/api/csharp/microsoft.orleans.serialization.systemtextjson/orleans.serialization.jsoncodec/) class.

### Parameters

- `serializableTypeSelectors` (`IEnumerable<ICodecSelector>`): Filters used to indicate which types should be serialized by this codec.
- `copyableTypeSelectors` (`IEnumerable<ICopierSelector>`): Filters used to indicate which types should be copied by this codec.
- `options` (`IOptions<JsonCodecOptions>`): The JSON codec options.
