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:
Ivan Josipovic
2025-08-27 11:28:09 -07:00
committed by GitHub
parent 1f8e5da0c2
commit b74ee18fde

View File

@@ -1,4 +1,5 @@
using System.Globalization;
using System.Text.Json.Nodes;
using System.Text.RegularExpressions;
using System.Xml;
@@ -106,9 +107,39 @@ namespace k8s
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)
{
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);
}
}
}