Beispiel #1
0
        static void WriteElement(JsonWriter writer, DataCenterElement element)
        {
            writer.WriteStartObject();

            foreach (var attr in element.Attributes)
            {
                writer.WritePropertyName(attr.Name);

                switch (attr.TypeCode)
                {
                case DataCenterTypeCode.Int32:
                    writer.WriteValue(attr.AsInt32);
                    break;

                case DataCenterTypeCode.Single:
                    writer.WriteValue(attr.AsSingle);
                    break;

                case DataCenterTypeCode.String:
                    writer.WriteValue(attr.AsString);
                    break;

                case DataCenterTypeCode.Boolean:
                    writer.WriteValue(attr.AsBoolean);
                    break;
                }
            }

            foreach (var grp in element.GroupBy(x => x.Name))
            {
                writer.WritePropertyName(grp.Key);
                writer.WriteStartArray();

                foreach (var elem in grp)
                {
                    WriteElement(writer, elem);
                }

                writer.WriteEndArray();
            }

            writer.WriteEndObject();
        }