Opc.Ua.JsonEncoder.WriteVariant C# (CSharp) Method

WriteVariant() public method

Writes an Variant array to the stream.
public WriteVariant ( string fieldName, Variant value ) : void
fieldName string
value Variant
return void
        public void WriteVariant(string fieldName, Variant value)
        {
            bool isNull = (value.TypeInfo == null || value.TypeInfo.BuiltInType == BuiltInType.Null || value.Value == null);

            if (UseReversibleEncoding && !isNull)
            {
                PushStructure(fieldName);

                byte encoding = (byte)value.TypeInfo.BuiltInType;

                if (value.TypeInfo.ValueRank >= 0)
                {
                    encoding |= (byte)VariantArrayEncodingBits.Array;
                }

                WriteByte("Encoding", encoding);

                fieldName = "Body";
            }

            if (!String.IsNullOrEmpty(fieldName))
            {
                if (m_commaRequired)
                {
                    m_writer.Write(",");
                }

                m_writer.Write("\"");
                m_writer.Write(fieldName);
                m_writer.Write("\":");
            }

            WriteVariantContents(value.Value, value.TypeInfo);

            if (UseReversibleEncoding && !isNull)
            {
                Matrix matrix = value.Value as Matrix;

                if (matrix != null)
                {
                    WriteInt32Array("Dimensions", matrix.Dimensions);
                }

                PopStructure();
            }
        }