feat(json): add overloads for Deserialize and Serialize (#1652)
Updated `KubernetesJson.cs` to include additional overloads for the `Deserialize` and `Serialize` methods. New methods now support `JsonDocument`, `JsonElement`, and `JsonNode` types, enhancing JSON handling capabilities within the Kubernetes library.
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
using System.Text.Json.Nodes;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
@@ -106,9 +107,39 @@ namespace k8s
|
|||||||
return JsonSerializer.Deserialize<TValue>(json, jsonSerializerOptions ?? JsonSerializerOptions);
|
return JsonSerializer.Deserialize<TValue>(json, jsonSerializerOptions ?? JsonSerializerOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static TValue Deserialize<TValue>(JsonDocument json, JsonSerializerOptions jsonSerializerOptions = null)
|
||||||
|
{
|
||||||
|
return JsonSerializer.Deserialize<TValue>(json, jsonSerializerOptions ?? JsonSerializerOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TValue Deserialize<TValue>(JsonElement json, JsonSerializerOptions jsonSerializerOptions = null)
|
||||||
|
{
|
||||||
|
return JsonSerializer.Deserialize<TValue>(json, jsonSerializerOptions ?? JsonSerializerOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TValue Deserialize<TValue>(JsonNode json, JsonSerializerOptions jsonSerializerOptions = null)
|
||||||
|
{
|
||||||
|
return JsonSerializer.Deserialize<TValue>(json, jsonSerializerOptions ?? JsonSerializerOptions);
|
||||||
|
}
|
||||||
|
|
||||||
public static string Serialize(object value, JsonSerializerOptions jsonSerializerOptions = null)
|
public static string Serialize(object value, JsonSerializerOptions jsonSerializerOptions = null)
|
||||||
{
|
{
|
||||||
return JsonSerializer.Serialize(value, jsonSerializerOptions ?? JsonSerializerOptions);
|
return JsonSerializer.Serialize(value, jsonSerializerOptions ?? JsonSerializerOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string Serialize(JsonDocument value, JsonSerializerOptions jsonSerializerOptions = null)
|
||||||
|
{
|
||||||
|
return JsonSerializer.Serialize(value, jsonSerializerOptions ?? JsonSerializerOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Serialize(JsonElement value, JsonSerializerOptions jsonSerializerOptions = null)
|
||||||
|
{
|
||||||
|
return JsonSerializer.Serialize(value, jsonSerializerOptions ?? JsonSerializerOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Serialize(JsonNode value, JsonSerializerOptions jsonSerializerOptions = null)
|
||||||
|
{
|
||||||
|
return JsonSerializer.Serialize(value, jsonSerializerOptions ?? JsonSerializerOptions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user