JsonSerializer.Serialize 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Serialize(Stream, Object, Type, JsonSerializerContext)
将所提供的值转换为 UTF-8 编码的 JSON 文本,并将其写入 Stream。
public:
 static void Serialize(System::IO::Stream ^ utf8Json, System::Object ^ value, Type ^ inputType, System::Text::Json::Serialization::JsonSerializerContext ^ context);public static void Serialize(System.IO.Stream utf8Json, object? value, Type inputType, System.Text.Json.Serialization.JsonSerializerContext context);static member Serialize : System.IO.Stream * obj * Type * System.Text.Json.Serialization.JsonSerializerContext -> unitPublic Sub Serialize (utf8Json As Stream, value As Object, inputType As Type, context As JsonSerializerContext)参数
- value
- Object
要转换的值。
- inputType
- Type
要转换的 value 的类型。
- context
- JsonSerializerContext
可序列化类型的元数据提供程序。
例外
              inputType 与 value不兼容。
              utf8Json、inputType或 contextnull。
              inputType 或其可序列化成员没有兼容的 JsonConverter。
适用于
Serialize(Utf8JsonWriter, Object, Type, JsonSerializerContext)
将一个 JSON 值(包括对象或数组)写入提供的编写器。
public:
 static void Serialize(System::Text::Json::Utf8JsonWriter ^ writer, System::Object ^ value, Type ^ inputType, System::Text::Json::Serialization::JsonSerializerContext ^ context);public static void Serialize(System.Text.Json.Utf8JsonWriter writer, object? value, Type inputType, System.Text.Json.Serialization.JsonSerializerContext context);static member Serialize : System.Text.Json.Utf8JsonWriter * obj * Type * System.Text.Json.Serialization.JsonSerializerContext -> unitPublic Sub Serialize (writer As Utf8JsonWriter, value As Object, inputType As Type, context As JsonSerializerContext)参数
- writer
- Utf8JsonWriter
要写入的 JSON 编写器。
- value
- Object
要转换和写入的值。
- inputType
- Type
要转换的 value 的类型。
- context
- JsonSerializerContext
可序列化类型的元数据提供程序。
例外
              inputType 与 value不兼容。
              writer 或 inputTypenull。
              inputType 或其可序列化成员没有兼容的 JsonConverter。
提供的 contextGetTypeInfo(Type) 方法返回要转换的类型 null。
适用于
Serialize(Utf8JsonWriter, Object, Type, JsonSerializerOptions)
将指定类型的 JSON 表示形式写入提供的编写器。
public static void Serialize(System.Text.Json.Utf8JsonWriter writer, object? value, Type inputType, System.Text.Json.JsonSerializerOptions? options = default);public static void Serialize(System.Text.Json.Utf8JsonWriter writer, object value, Type inputType, System.Text.Json.JsonSerializerOptions options = default);static member Serialize : System.Text.Json.Utf8JsonWriter * obj * Type * System.Text.Json.JsonSerializerOptions -> unitPublic Sub Serialize (writer As Utf8JsonWriter, value As Object, inputType As Type, Optional options As JsonSerializerOptions = Nothing)Public Shared Sub Serialize (writer As Utf8JsonWriter, value As Object, inputType As Type, Optional options As JsonSerializerOptions = Nothing)参数
- writer
- Utf8JsonWriter
要写入的 JSON 编写器。
- value
- Object
要转换和写入的值。
- inputType
- Type
要转换的 value 的类型。
- options
- JsonSerializerOptions
用于控制序列化行为的选项。
例外
              inputType 与 value 不兼容
              writer 或 inputTypenull。
              inputType 或其可序列化成员没有兼容的 JsonConverter。
注解
用于创建 Utf8JsonWriter 实例的 JsonWriterOptions 在冲突时优先于 JsonSerializerOptions。 因此,编写时使用 JsonWriterOptions.Indented、JsonWriterOptions.SkipValidation和 JsonWriterOptions.Encoder。
有关详细信息,请参阅 如何序列化和反序列化 JSON。
适用于
Serialize(Utf8JsonWriter, Object, JsonTypeInfo)
将一个 JSON 值(包括对象或数组)写入提供的编写器。
public:
 static void Serialize(System::Text::Json::Utf8JsonWriter ^ writer, System::Object ^ value, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);public static void Serialize(System.Text.Json.Utf8JsonWriter writer, object? value, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);static member Serialize : System.Text.Json.Utf8JsonWriter * obj * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> unitPublic Sub Serialize (writer As Utf8JsonWriter, value As Object, jsonTypeInfo As JsonTypeInfo)参数
- writer
- Utf8JsonWriter
要写入的编写器。
- value
- Object
要转换和写入的值。
- jsonTypeInfo
- JsonTypeInfo
要转换的类型的元数据。
例外
              writer 或 jsonTypeInfonull。
              value 与 jsonTypeInfo的类型不匹配。
适用于
Serialize(Stream, Object, Type, JsonSerializerOptions)
将所提供的值转换为 UTF-8 编码的 JSON 文本,并将其写入 Stream。
public static void Serialize(System.IO.Stream utf8Json, object? value, Type inputType, System.Text.Json.JsonSerializerOptions? options = default);static member Serialize : System.IO.Stream * obj * Type * System.Text.Json.JsonSerializerOptions -> unitPublic Sub Serialize (utf8Json As Stream, value As Object, inputType As Type, Optional options As JsonSerializerOptions = Nothing)参数
- value
- Object
要转换的值。
- inputType
- Type
要转换的 value 的类型。
- options
- JsonSerializerOptions
用于控制转换行为的选项。
例外
              inputType 与 value不兼容。
              utf8Json 或 inputTypenull。
              inputType 或其可序列化成员没有兼容的 JsonConverter。
适用于
Serialize(Object, Type, JsonSerializerOptions)
将指定类型的值转换为 JSON 字符串。
public static string Serialize(object? value, Type inputType, System.Text.Json.JsonSerializerOptions? options = default);public static string Serialize(object value, Type inputType, System.Text.Json.JsonSerializerOptions options = default);static member Serialize : obj * Type * System.Text.Json.JsonSerializerOptions -> stringPublic Function Serialize (value As Object, inputType As Type, Optional options As JsonSerializerOptions = Nothing) As StringPublic Shared Function Serialize (value As Object, inputType As Type, Optional options As JsonSerializerOptions = Nothing) As String参数
- value
- Object
要转换的值。
- inputType
- Type
要转换的 value 的类型。
- options
- JsonSerializerOptions
用于控制转换行为的选项。
返回
值的 JSON 字符串表示形式。
例外
              inputType 与 value不兼容。
              inputType
              null。
              inputType 或其可序列化成员没有兼容的 JsonConverter。
注解
使用 String 不像使用 UTF-8 编码那么高效,因为实现在内部使用 UTF-8。 另请参阅 SerializeToUtf8Bytes(Object, Type, JsonSerializerOptions) 和 SerializeAsync(Stream, Object, Type, JsonSerializerOptions, CancellationToken)。
有关详细信息,请参阅 如何序列化和反序列化 JSON。
适用于
Serialize(Stream, Object, JsonTypeInfo)
将所提供的值转换为 UTF-8 编码的 JSON 文本,并将其写入 Stream。
public:
 static void Serialize(System::IO::Stream ^ utf8Json, System::Object ^ value, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);public static void Serialize(System.IO.Stream utf8Json, object? value, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);static member Serialize : System.IO.Stream * obj * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> unitPublic Sub Serialize (utf8Json As Stream, value As Object, jsonTypeInfo As JsonTypeInfo)参数
- value
- Object
要转换的值。
- jsonTypeInfo
- JsonTypeInfo
要转换的类型的元数据。
例外
              utf8Json
              null。
              value 与 jsonTypeInfo的类型不匹配。
适用于
Serialize(Object, JsonTypeInfo)
将提供的值转换为 String。
public:
 static System::String ^ Serialize(System::Object ^ value, System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ jsonTypeInfo);public static string Serialize(object? value, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo);static member Serialize : obj * System.Text.Json.Serialization.Metadata.JsonTypeInfo -> stringPublic Function Serialize (value As Object, jsonTypeInfo As JsonTypeInfo) As String参数
- value
- Object
要转换的值。
- jsonTypeInfo
- JsonTypeInfo
要转换的类型的元数据。
返回
值的 String 表示形式。
例外
              jsonTypeInfo
              null。
              value 与 jsonTypeInfo的类型不匹配。
注解
使用 String 不像使用 UTF-8 编码那么高效,因为实现在内部使用 UTF-8。 另请参阅 SerializeToUtf8Bytes(Object, JsonTypeInfo) 和 SerializeAsync(Stream, Object, JsonTypeInfo, CancellationToken)。
适用于
Serialize(Object, Type, JsonSerializerContext)
将提供的值转换为 String。
public:
 static System::String ^ Serialize(System::Object ^ value, Type ^ inputType, System::Text::Json::Serialization::JsonSerializerContext ^ context);public static string Serialize(object? value, Type inputType, System.Text.Json.Serialization.JsonSerializerContext context);static member Serialize : obj * Type * System.Text.Json.Serialization.JsonSerializerContext -> stringPublic Function Serialize (value As Object, inputType As Type, context As JsonSerializerContext) As String参数
- value
- Object
要转换的值。
- inputType
- Type
要转换的 value 的类型。
- context
- JsonSerializerContext
可序列化类型的元数据提供程序。
返回
值的 String 表示形式。
例外
              inputType 或其可序列化成员没有兼容的 JsonConverter。
提供的 contextGetTypeInfo(Type) 方法返回要转换的类型 null。
              inputType 或 contextnull。
注解
使用 String 不像使用 UTF-8 编码那么高效,因为实现在内部使用 UTF-8。 另请参阅 SerializeToUtf8Bytes(Object, Type, JsonSerializerContext) 和 SerializeAsync(Stream, Object, Type, JsonSerializerContext, CancellationToken)。
适用于
Serialize<TValue>(Utf8JsonWriter, TValue, JsonSerializerOptions)
将泛型类型参数指定的类型的 JSON 表示形式写入提供的编写器。
public static void Serialize<TValue>(System.Text.Json.Utf8JsonWriter writer, TValue value, System.Text.Json.JsonSerializerOptions? options = default);public static void Serialize<TValue>(System.Text.Json.Utf8JsonWriter writer, TValue value, System.Text.Json.JsonSerializerOptions options = default);static member Serialize : System.Text.Json.Utf8JsonWriter * 'Value * System.Text.Json.JsonSerializerOptions -> unitPublic Sub Serialize(Of TValue) (writer As Utf8JsonWriter, value As TValue, Optional options As JsonSerializerOptions = Nothing)Public Shared Sub Serialize(Of TValue) (writer As Utf8JsonWriter, value As TValue, Optional options As JsonSerializerOptions = Nothing)类型参数
- TValue
要序列化的值的类型。
参数
- writer
- Utf8JsonWriter
要写入的 JSON 编写器。
- value
- TValue
要转换和写入的值。
- options
- JsonSerializerOptions
用于控制序列化行为的选项。
例外
              writer
              null。
              TValue 或其可序列化成员没有兼容的 JsonConverter。
注解
用于创建 Utf8JsonWriter 实例的 JsonWriterOptions 在冲突时优先于 JsonSerializerOptions。 因此,编写时使用 JsonWriterOptions.Indented、JsonWriterOptions.SkipValidation和 JsonWriterOptions.Encoder。
有关详细信息,请参阅 如何序列化和反序列化 JSON。
适用于
Serialize<TValue>(TValue, JsonSerializerOptions)
将泛型类型参数指定的类型的值转换为 JSON 字符串。
public static string Serialize<TValue>(TValue value, System.Text.Json.JsonSerializerOptions? options = default);public static string Serialize<TValue>(TValue value, System.Text.Json.JsonSerializerOptions options = default);static member Serialize : 'Value * System.Text.Json.JsonSerializerOptions -> stringPublic Function Serialize(Of TValue) (value As TValue, Optional options As JsonSerializerOptions = Nothing) As StringPublic Shared Function Serialize(Of TValue) (value As TValue, Optional options As JsonSerializerOptions = Nothing) As String类型参数
- TValue
要序列化的值的类型。
参数
- value
- TValue
要转换的值。
- options
- JsonSerializerOptions
用于控制序列化行为的选项。
返回
值的 JSON 字符串表示形式。
例外
              TValue 或其可序列化成员没有兼容的 JsonConverter。
注解
使用 String 不像使用 UTF-8 编码那么高效,因为实现在内部使用 UTF-8。 另请参阅 SerializeToUtf8Bytes(Object, Type, JsonSerializerOptions) 和 SerializeAsync(Stream, Object, Type, JsonSerializerOptions, CancellationToken)。
有关详细信息,请参阅 如何序列化和反序列化 JSON。
适用于
Serialize<TValue>(TValue, JsonTypeInfo<TValue>)
将提供的值转换为 String。
public:
generic <typename TValue>
 static System::String ^ Serialize(TValue value, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);public static string Serialize<TValue>(TValue value, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);static member Serialize : 'Value * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> stringPublic Function Serialize(Of TValue) (value As TValue, jsonTypeInfo As JsonTypeInfo(Of TValue)) As String类型参数
- TValue
要序列化的值的类型。
参数
- value
- TValue
要转换的值。
- jsonTypeInfo
- JsonTypeInfo<TValue>
要转换的类型的元数据。
返回
值的 String 表示形式。
例外
              TValue 或其可序列化成员没有兼容的 JsonConverter。
              jsonTypeInfo
              null。
注解
使用 String 不像使用 UTF-8 编码那么高效,因为实现在内部使用 UTF-8。 另请参阅 SerializeToUtf8Bytes<TValue>(TValue, JsonTypeInfo<TValue>) 和 SerializeAsync<TValue>(Stream, TValue, JsonTypeInfo<TValue>, CancellationToken)。
适用于
Serialize<TValue>(Stream, TValue, JsonSerializerOptions)
将所提供的值转换为 UTF-8 编码的 JSON 文本,并将其写入 Stream。
public static void Serialize<TValue>(System.IO.Stream utf8Json, TValue value, System.Text.Json.JsonSerializerOptions? options = default);static member Serialize : System.IO.Stream * 'Value * System.Text.Json.JsonSerializerOptions -> unitPublic Sub Serialize(Of TValue) (utf8Json As Stream, value As TValue, Optional options As JsonSerializerOptions = Nothing)类型参数
- TValue
要序列化的值的类型。
参数
- value
- TValue
要转换的值。
- options
- JsonSerializerOptions
用于控制转换行为的选项。
例外
              utf8Json
              null。
              TValue 或其可序列化成员没有兼容的 JsonConverter。
适用于
Serialize<TValue>(Stream, TValue, JsonTypeInfo<TValue>)
将所提供的值转换为 UTF-8 编码的 JSON 文本,并将其写入 Stream。
public:
generic <typename TValue>
 static void Serialize(System::IO::Stream ^ utf8Json, TValue value, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);public static void Serialize<TValue>(System.IO.Stream utf8Json, TValue value, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);static member Serialize : System.IO.Stream * 'Value * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> unitPublic Sub Serialize(Of TValue) (utf8Json As Stream, value As TValue, jsonTypeInfo As JsonTypeInfo(Of TValue))类型参数
- TValue
要序列化的值的类型。
参数
- value
- TValue
要转换的值。
- jsonTypeInfo
- JsonTypeInfo<TValue>
要转换的类型的元数据。
例外
              utf8Json
              null。
              TValue 或其可序列化成员没有兼容的 JsonConverter。
适用于
Serialize<TValue>(Utf8JsonWriter, TValue, JsonTypeInfo<TValue>)
将一个 JSON 值(包括对象或数组)写入提供的编写器。
public:
generic <typename TValue>
 static void Serialize(System::Text::Json::Utf8JsonWriter ^ writer, TValue value, System::Text::Json::Serialization::Metadata::JsonTypeInfo<TValue> ^ jsonTypeInfo);public static void Serialize<TValue>(System.Text.Json.Utf8JsonWriter writer, TValue value, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TValue> jsonTypeInfo);static member Serialize : System.Text.Json.Utf8JsonWriter * 'Value * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Value> -> unitPublic Sub Serialize(Of TValue) (writer As Utf8JsonWriter, value As TValue, jsonTypeInfo As JsonTypeInfo(Of TValue))类型参数
- TValue
要序列化的值的类型。
参数
- writer
- Utf8JsonWriter
要写入的编写器。
- value
- TValue
要转换和写入的值。
- jsonTypeInfo
- JsonTypeInfo<TValue>
要转换的类型的元数据。
例外
              writer 或 jsonTypeInfonull。
              TValue 或其可序列化成员没有兼容的 JsonConverter。