private static void WriteJsonValue()

in Libraries/src/Amazon.Lambda.DynamoDBEvents/ExtensionMethods.cs [83:159]


        private static void WriteJsonValue(Utf8JsonWriter writer, AttributeValue attribute)
        {
            if (attribute.S != null)
            {
                writer.WriteStringValue(attribute.S);
            }
            else if (attribute.N != null)
            {
#if NETCOREAPP3_1  // WriteRawValue was added in .NET 6, but we need to write out Number values without quotes
                using var document = JsonDocument.Parse(attribute.N);
                document.WriteTo(writer);
#else
                writer.WriteRawValue(attribute.N);
#endif
            }
            else if (attribute.B != null)
            {
                writer.WriteBase64StringValue(attribute.B.ToArray());
            }
            else if (attribute.BOOL != null)
            {
                writer.WriteBooleanValue(attribute.BOOL.Value);
            }
            else if (attribute.NULL != null)
            {
                writer.WriteNullValue();
            }
            else if (attribute.M != null)
            {
                WriteJson(writer, attribute.M);
            }
            else if (attribute.L != null)
            {
                writer.WriteStartArray();
                foreach (var item in attribute.L)
                {
                    WriteJsonValue(writer, item);
                }
                writer.WriteEndArray();
            }
            else if (attribute.SS != null)
            {
                writer.WriteStartArray();
                foreach (var item in attribute.SS)
                {
                    writer.WriteStringValue(item);
                }
                writer.WriteEndArray();
            }
            else if (attribute.NS != null)
            {
                writer.WriteStartArray();
                foreach (var item in attribute.NS)
                {
#if NETCOREAPP3_1  // WriteRawValue was added in .NET 6, but we need to write out Number values without quotes
                    using var document = JsonDocument.Parse(item);
                    document.WriteTo(writer);
#else
                    writer.WriteRawValue(item);
#endif
                }
                writer.WriteEndArray();
            }
            else if (attribute.BS != null)
            {
                writer.WriteStartArray();
                foreach (var item in attribute.BS)
                {
                    writer.WriteBase64StringValue(item.ToArray());
                }
                writer.WriteEndArray();
            }
            else
            {
                writer.WriteNullValue();
            }
        }