/// <summary> /// Deserialize JSON into a FHIR OperationOutcome /// </summary> public static void DeserializeJson(this OperationOutcome current, ref Utf8JsonReader reader, JsonSerializerOptions options) { string propertyName; while (reader.Read()) { if (reader.TokenType == JsonTokenType.EndObject) { return; } if (reader.TokenType == JsonTokenType.PropertyName) { propertyName = reader.GetString(); if (Hl7.Fhir.Serialization.FhirSerializerOptions.Debug) { Console.WriteLine($"OperationOutcome >>> OperationOutcome.{propertyName}, depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } reader.Read(); current.DeserializeJsonProperty(ref reader, options, propertyName); } } throw new JsonException($"OperationOutcome: invalid state! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); }