Skip to content

Commit b74ee18

Browse files
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.
1 parent 1f8e5da commit b74ee18

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

src/KubernetesClient/KubernetesJson.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Globalization;
2+
using System.Text.Json.Nodes;
23
using System.Text.RegularExpressions;
34
using System.Xml;
45

@@ -106,9 +107,39 @@ public static TValue Deserialize<TValue>(Stream json, JsonSerializerOptions json
106107
return JsonSerializer.Deserialize<TValue>(json, jsonSerializerOptions ?? JsonSerializerOptions);
107108
}
108109

110+
public static TValue Deserialize<TValue>(JsonDocument json, JsonSerializerOptions jsonSerializerOptions = null)
111+
{
112+
return JsonSerializer.Deserialize<TValue>(json, jsonSerializerOptions ?? JsonSerializerOptions);
113+
}
114+
115+
public static TValue Deserialize<TValue>(JsonElement json, JsonSerializerOptions jsonSerializerOptions = null)
116+
{
117+
return JsonSerializer.Deserialize<TValue>(json, jsonSerializerOptions ?? JsonSerializerOptions);
118+
}
119+
120+
public static TValue Deserialize<TValue>(JsonNode json, JsonSerializerOptions jsonSerializerOptions = null)
121+
{
122+
return JsonSerializer.Deserialize<TValue>(json, jsonSerializerOptions ?? JsonSerializerOptions);
123+
}
124+
109125
public static string Serialize(object value, JsonSerializerOptions jsonSerializerOptions = null)
110126
{
111127
return JsonSerializer.Serialize(value, jsonSerializerOptions ?? JsonSerializerOptions);
112128
}
129+
130+
public static string Serialize(JsonDocument value, JsonSerializerOptions jsonSerializerOptions = null)
131+
{
132+
return JsonSerializer.Serialize(value, jsonSerializerOptions ?? JsonSerializerOptions);
133+
}
134+
135+
public static string Serialize(JsonElement value, JsonSerializerOptions jsonSerializerOptions = null)
136+
{
137+
return JsonSerializer.Serialize(value, jsonSerializerOptions ?? JsonSerializerOptions);
138+
}
139+
140+
public static string Serialize(JsonNode value, JsonSerializerOptions jsonSerializerOptions = null)
141+
{
142+
return JsonSerializer.Serialize(value, jsonSerializerOptions ?? JsonSerializerOptions);
143+
}
113144
}
114145
}

0 commit comments

Comments
 (0)