Json.More Reads and converts the JSON to type . The reader. The type to convert. An object that specifies serialization options to use. The converted value. Element was not a string or could not identify the JSON value as a known enum value. Reads a dictionary key from a JSON property name. The to read from. The type to convert. The options to use when reading the value. The value that was converted. Writes a specified value as JSON. The writer to write to. The value to convert to JSON. An object that specifies serialization options to use. Writes a dictionary key as a JSON property name. The to write to. The value to convert. The value of determines if the converter handles values. The options to use when writing the value. Provides JSON serialization for the family of types. WARNING: This converter is not AOT-friendly. When overridden in a derived class, determines whether the converter instance can convert the specified object type. The type of the object to check whether it can be converted by this converter instance. if the instance can convert the specified object type; otherwise, . Creates a converter for a specified type. The type handled by the converter. The serialization options to use. A converter which is compatible with . Calculates equality between two s. This comparison is compliant with the ideals expressed by JSON: - Objects are unordered. - Arrays are ordered. A singleton instance for convenience. Determines whether the specified objects are equal. The first object of type T to compare. The second object of type T to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of obj is a reference type and obj is null. Provides extension functionality for . Determines JSON-compatible equivalence. The first document. The second document. `true` if the documents are equivalent; `false` otherwise. Converts an object to a . The type of the object. The value to convert. (optional) JSON serialization options. A representing the vale. Calculates equality between two s. This comparison is compliant with the ideals expressed by JSON: - Objects are unordered. - Arrays are ordered. A singleton instance for convenience. Determines whether the specified objects are equal. The first object of type T to compare. The second object of type T to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of obj is a reference type and obj is null. Provides extension functionality for . Determines JSON-compatible equivalence. The first element. The second element. `true` if the element are equivalent; `false` otherwise. The is not valid. Generate a consistent JSON-value-based hash code for the element. The element. Maximum depth to calculate. Default is -1 which utilizes the entire structure without limitation. The hash code. See the following for discussion on why the default implementation is insufficient: - https://github.com/json-everything/json-everything/issues/76 - https://github.com/dotnet/runtime/issues/33388 Just a shortcut for calling `JsonSerializer.Serialize()` because `.ToString()` doesn't do what you might expect. The value to convert. A JSON string. See https://github.com/dotnet/runtime/issues/42502 Converts a to a . The value to convert. A representing the value. This is a workaround for lack of native support in the System.Text.Json namespace. Converts a to a . The value to convert. A representing the value. This is a workaround for lack of native support in the System.Text.Json namespace. Converts a to a . The value to convert. A representing the value. This is a workaround for lack of native support in the System.Text.Json namespace. Converts a to a . The value to convert. A representing the value. This is a workaround for lack of native support in the System.Text.Json namespace. Converts a to a . The value to convert. A representing the value. This is a workaround for lack of native support in the System.Text.Json namespace. Converts a to a . The value to convert. A representing the value. This is a workaround for lack of native support in the System.Text.Json namespace. Converts a to a . The value to convert. A representing the value. This is a workaround for lack of native support in the System.Text.Json namespace. Converts a to a . Can also be used to get a `null` element. The value to convert. A representing the value. This is a workaround for lack of native support in the System.Text.Json namespace. Converts a to a . The array of values to convert. A representing the value. This is a workaround for lack of native support in the System.Text.Json namespace. Converts a to a . The value to convert. A representing the value. This is a workaround for lack of native support in the System.Text.Json namespace. Converts a to a . The element. An equivalent node. This provides a single point of conversion as one is not provided by .Net. See https://github.com/dotnet/runtime/issues/70427 for more information. Defines the source generated JSON serialization contract metadata for a given type. Defines the source generated JSON serialization contract metadata for a given type. The default associated with a default instance. The source-generated options associated with this context. Acts as an intermediary that allows an "implicit casting"-like behavior between native JSON types and . Converts an `int` to a . The value. Converts an `long` to a . The value. Converts an `short` to a . The value. Converts an `float` to a . The value. Converts an `double` to a . The value. Converts an `decimal` to a . The value. Converts an `string` to a . The value. Converts an `bool` to a . The value. Converts a to a . The proxy. Calculates equality between two s. This comparison is compliant with the ideals expressed by JSON: - Objects are unordered. - Arrays are ordered. A singleton instance for convenience. Determines whether the specified objects are equal. The first object of type T to compare. The second object of type T to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of obj is a reference type and obj is null. Provides extension functionality for . Determines JSON-compatible equivalence. The first element. The second element. `true` if the element are equivalent; `false` otherwise. has trouble testing numeric equality when `decimal` is involved. As such, it is still advised to use this method instead. See https://github.com/dotnet/runtime/issues/97490. Generate a consistent JSON-value-based hash code for the element. The element. Maximum depth to calculate. Default is -1 which utilizes the entire structure without limitation. The hash code. See the following for discussion on why the default implementation is insufficient: - https://github.com/json-everything/json-everything/issues/76 - https://github.com/dotnet/runtime/issues/33388 Gets JSON string representation for , including null support. A node. Serializer options JSON string representation. Gets a node's underlying numeric value. A JSON value. Gets the underlying numeric value, or null if the node represented a non-numeric value. Gets a node's underlying numeric value if it's an integer. A JSON value. Gets the underlying numeric value if it's an integer, or null if the node represented a non-integer value. Gets a node's underlying string value. A JSON value. Gets the underlying string value, or null. JsonNode may use a under the hood which subsequently contains a string. This means that `JsonNode.GetValue<string>()` will not work as expected. Gets a node's underlying boolean value. A JSON value. Gets the underlying boolean value, or null. JsonNode may use a under the hood which subsequently contains a boolean. This means that `JsonNode.GetValue<bool>()` will not work as expected. Convenience method that wraps and catches argument exceptions. The JSON object. The property name The node under the property name if it exists and is singular; null otherwise. An exception if one was thrown during the access attempt. true if the property exists and is singular within the JSON data. throws an if the node was parsed from data that has duplicate keys. Please see https://github.com/dotnet/runtime/issues/70604 for more information. Creates a new by copying from an enumerable of nodes. The nodes. A JSON array. `JsonNode` may only be part of a single JSON tree, i.e. have a single parent. Copying a node allows its value to be saved to another JSON tree. Gets a JSON Path string that indicates the node's location within its JSON structure. The node to find. Determines whether shorthand syntax is used when possible, e.g. `$.foo`. Null nodes cannot be located as the parent cannot be determined. A string containing a JSON Path. Gets a JSON Pointer string that indicates the node's location within its JSON structure. The node to find. Null nodes cannot be located as the parent cannot be determined. A string containing a JSON Pointer. Provides extension functionality for . Most (if not all) of these extension methods are workarounds for https://github.com/dotnet/runtime/issues/50205. Returns the converter for the specified type. The to convert. The being used. An explicit typeInfo to use for looking up the Converter. If not provided, options.GetTypeInfo will be used. An implementation of as determined by the provided options Read and convert the JSON to T. A converter may throw any Exception, but should throw JsonException when the JSON is invalid. The to convert. The being used. The to read from. An explicit typeInfo to use for looking up the Converter. If not provided, options.GetTypeInfo will be used. The value that was converted. Write a T to JSON. A converter may throw any Exception, but should throw JsonException when the JSON is invalid. The to convert. The being used. The to read from. The value to serialize. An explicit typeInfo to use for looking up the Converter. If not provided, options.GetTypeInfo will be used. The value that was converted. Read and convert the JSON to multiple T. A converter may throw any Exception, but should throw JsonException when the JSON is invalid. The to convert. The being used. The to read from. An explicit typeInfo to use for looking up the Converter. If not provided, options.GetTypeInfo will be used. The value that was converted. Read and convert the JSON to multiple T. A converter may throw any Exception, but should throw JsonException when the JSON is invalid. The to convert. The being used. The to read from. An explicit typeInfo to use for looking up the Converter. If not provided, options.GetTypeInfo will be used. The value that was converted. Convert and write multiple T to JSON The to convert. The being used. The to write to. The collection of values to convert. An explicit typeInfo to use for looking up the Converter. If not provided, options.GetTypeInfo will be used. Read and convert string/T dictionary to JSON The to convert. The being used. The to read from. An explicit typeInfo to use for looking up the Converter. If not provided, options.GetTypeInfo will be used. The value that was converted. The JSON is not valid for this type. Read and convert string/list-T dictionary to JSON The to convert. The being used. The to read from. An explicit typeInfo to use for looking up the Converter. If not provided, options.GetTypeInfo will be used. The value that was converted. Convert and write string/T dictionary to JSON The to convert. The being used. The to write to. The collection of values to convert. An explicit typeInfo to use for looking up the Converter. If not provided, options.GetTypeInfo will be used. Convert and write string/list-T dictionary to JSON The to convert. The being used. The to write to. The collection of values to convert. An explicit typeInfo to use for looking up the Converter. If not provided, options.GetTypeInfo will be used. Write an object to JSON. If the type is known, prefer Write]]> A converter may throw any Exception, but should throw JsonException when the JSON is invalid. The being used. The to read from. The value to serialize. The type to serialize. The value that was converted. Provides informative methods for types. Determines whether the type is considered an integer. The type. true if it represents an integer; false otherwise. Determines whether the type is a non-integer floating point number. The type. true if it represents a floating-point number; false otherwise. Determines whether the type is a number. The type. true if it represents a number; false otherwise. Provides extension functionality for . Writes a to the stream. The JSON stream writer. The element to write. The is not valid. Interface to enable JsonConverter implementations to call other JsonConverter's Read methods without statically being aware of their type parameters. Reads and converts the JSON to object?. The reader. The type to convert. An object that specifies serialization options to use. The converted value. Writes a specified value as JSON. The writer to write to. The value to convert to JSON. An object that specifies serialization options to use. The for the value being serialized. Abstract base class of JsonConverter that helps external code call a JsonConverter without statically knowing about T.