<PackageReference Include="System.ClientModel" Version="1.7.0" />

ConnectionCollectionConverter

Handles JSON serialization and deserialization of ClientConnectionCollection.
using System.Text.Json; using System.Text.Json.Serialization; namespace System.ClientModel.Primitives { internal class ConnectionCollectionConverter : JsonConverter<ClientConnectionCollection> { public override ClientConnectionCollection Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { using (JsonDocument jsonDocument = JsonDocument.ParseValue(ref reader)) { JsonElement rootElement = jsonDocument.RootElement; ClientConnectionCollection clientConnectionCollection = new ClientConnectionCollection(); foreach (JsonElement item2 in rootElement.EnumerateArray()) { JsonElement property = item2.GetProperty("id"); string string = property.GetString(); property = item2.GetProperty("locator"); string string2 = property.GetString(); property = item2.GetProperty("credentialKind"); string string3 = property.GetString(); CredentialKind credentialKind = (CredentialKind)Enum.Parse(typeof(CredentialKind), string3); ClientConnection item = new ClientConnection(string, string2, credentialKind); clientConnectionCollection.Add(item); } return clientConnectionCollection; } } public override void Write(Utf8JsonWriter writer, ClientConnectionCollection value, JsonSerializerOptions options) { writer.WriteStartArray(); foreach (ClientConnection item in value) { writer.WriteStartObject(); writer.WriteString("id", item.Id); writer.WriteString("locator", item.Locator); writer.WriteString("credentialKind", item.CredentialKind.ToString()); writer.WriteEndObject(); } writer.WriteEndArray(); } } }