# System.Text.Json

``` diff
 namespace System.Text.Json {
     public static class JsonSerializer {
+        public static object Deserialize(this JsonDocument document, Type returnType, JsonSerializerOptions options = null);
+        public static object Deserialize(this JsonDocument document, Type returnType, JsonSerializerContext context);
+        public static object Deserialize(this JsonElement element, Type returnType, JsonSerializerOptions options = null);
+        public static object Deserialize(this JsonElement element, Type returnType, JsonSerializerContext context);
+        public static object Deserialize(this JsonNode node, Type returnType, JsonSerializerOptions options = null);
+        public static object Deserialize(this JsonNode node, Type returnType, JsonSerializerContext context);
+        public static TValue Deserialize<TValue>(this JsonDocument document, JsonSerializerOptions options = null);
+        public static TValue Deserialize<TValue>(this JsonDocument document, JsonTypeInfo<TValue> jsonTypeInfo);
+        public static TValue Deserialize<TValue>(this JsonElement element, JsonSerializerOptions options = null);
+        public static TValue Deserialize<TValue>(this JsonElement element, JsonTypeInfo<TValue> jsonTypeInfo);
+        public static TValue Deserialize<TValue>(this JsonNode node, JsonSerializerOptions options = null);
+        public static TValue Deserialize<TValue>(this JsonNode node, JsonTypeInfo<TValue> jsonTypeInfo);
+        public static JsonDocument SerializeToDocument(object value, Type inputType, JsonSerializerOptions options = null);
+        public static JsonDocument SerializeToDocument(object value, Type inputType, JsonSerializerContext context);
+        public static JsonDocument SerializeToDocument<TValue>(TValue value, JsonSerializerOptions options = null);
+        public static JsonDocument SerializeToDocument<TValue>(TValue value, JsonTypeInfo<TValue> jsonTypeInfo);
+        public static JsonElement SerializeToElement(object value, Type inputType, JsonSerializerOptions options = null);
+        public static JsonElement SerializeToElement(object value, Type inputType, JsonSerializerContext context);
+        public static JsonElement SerializeToElement<TValue>(TValue value, JsonSerializerOptions options = null);
+        public static JsonElement SerializeToElement<TValue>(TValue value, JsonTypeInfo<TValue> jsonTypeInfo);
+        public static JsonNode SerializeToNode(object value, Type inputType, JsonSerializerOptions options = null);
+        public static JsonNode SerializeToNode(object value, Type inputType, JsonSerializerContext context);
+        public static JsonNode SerializeToNode<TValue>(TValue value, JsonSerializerOptions options = null);
+        public static JsonNode SerializeToNode<TValue>(TValue value, JsonTypeInfo<TValue> jsonTypeInfo);
     }
 }
```

