Header menu logo FSharp.Data

JsonProvider Type

Typed representation of a JSON document.

Static parameters

Static parameters Description

Culture: string(optional,default="")

Full Usage: Culture: string(optional,default="")

The culture used for parsing numbers and dates. Defaults to the invariant culture.

EmbeddedResource: string(optional,default="")

Full Usage: EmbeddedResource: string(optional,default="")

When specified, the type provider first attempts to load the sample from the specified resource
              (e.g. 'MyCompany.MyAssembly, resource_name.json'). This is useful when exposing types generated by the type provider.

Encoding: string(optional,default="")

Full Usage: Encoding: string(optional,default="")

The encoding used to read the sample. You can specify either the character set name or the codepage number. Defaults to UTF8 for files, and to ISO-8859-1 the for HTTP requests, unless `charset` is specified in the `Content-Type` response header.

InferTypesFromValues: bool(optional,default=true)

Full Usage: InferTypesFromValues: bool(optional,default=true)

This parameter is deprecated. Please use InferenceMode instead. If true, turns on additional type inference from values. (e.g. type inference infers string values such as "123" as ints and values constrained to 0 and 1 as booleans.)

InferenceMode: InferenceMode(optional,default=BackwardCompatible)

Full Usage: InferenceMode: InferenceMode(optional,default=BackwardCompatible)

Possible values:
              | NoInference -> Inference is disabled. All values are inferred as the most basic type permitted for the value (i.e. string or number or bool).
              | ValuesOnly -> Types of values are inferred from the Sample. Inline schema support is disabled. This is the default.
              | ValuesAndInlineSchemasHints -> Types of values are inferred from both values and inline schemas. Inline schemas are special string values that can define a type and/or unit of measure. Supported syntax: typeof or typeof{type} or typeof> or typeof{type{measure}}. Valid measures are the default SI units, and valid types are int, int64, bool, float, decimal, date, datetimeoffset, timespan, guid and string.
              | ValuesAndInlineSchemasOverrides -> Same as ValuesAndInlineSchemasHints, but value inferred types are ignored when an inline schema is present.

OmitNullFields: bool(optional,default=false)

Full Usage: OmitNullFields: bool(optional,default=false)

When true, optional fields with value None are omitted from the generated JSON rather than serialized as null. Defaults to false.

PreferDateOnly: bool(optional,default=false)

Full Usage: PreferDateOnly: bool(optional,default=false)

When true on .NET 6+, date-only strings (e.g. "2023-01-15") are inferred as DateOnly and time-only strings as TimeOnly. Defaults to false for backward compatibility.

PreferDateTimeOffset: bool(optional,default=false)

Full Usage: PreferDateTimeOffset: bool(optional,default=false)

When true, date-time strings without an explicit timezone offset are inferred as DateTimeOffset (using the local offset) instead of DateTime. Defaults to false.

PreferDictionaries: bool(optional,default=false)

Full Usage: PreferDictionaries: bool(optional,default=false)

If true, json records are interpreted as dictionaries when the names of all the fields are inferred (by type inference rules) into the same non-string primitive type.

PreferOptionals: bool(optional,default=true)

Full Usage: PreferOptionals: bool(optional,default=true)

When set to true (default), inference will use the option type for missing or null values. When false, inference will prefer to use empty string or double.NaN for missing values where possible, matching the default CsvProvider behavior.

ResolutionFolder: string(optional,default="")

Full Usage: ResolutionFolder: string(optional,default="")

A directory that is used when resolving relative file references (at design time and in hosted execution).

RootName: string(optional,default="Root")

Full Usage: RootName: string(optional,default="Root")

The name to be used to the root type. Defaults to `Root`.

Sample: string(optional,default="")

Full Usage: Sample: string(optional,default="")

Location of a JSON sample file or a string containing a sample JSON document.

SampleIsList: bool(optional,default=false)

Full Usage: SampleIsList: bool(optional,default=false)

If true, sample should be a list of individual samples for the inference.

Schema: string(optional,default="")

Full Usage: Schema: string(optional,default="")

Location of a JSON Schema file or a string containing a JSON Schema document. When specified, Sample and SampleIsList must not be used.

UseOriginalNames: bool(optional,default=false)

Full Usage: UseOriginalNames: bool(optional,default=false)

When true, JSON property names are used as-is for generated property names instead of being normalized to PascalCase. Defaults to false.

Type something to start searching.