private static void SerializeHelper(ITelemetry telemetryItem, JsonSerializationWriter jsonSerializationWriter, string baseType, string telemetryName) { jsonSerializationWriter.WriteProperty("name", telemetryItem.WriteTelemetryName(telemetryName)); telemetryItem.WriteEnvelopeProperties(jsonSerializationWriter); jsonSerializationWriter.WriteStartObject("data"); jsonSerializationWriter.WriteProperty("baseType", baseType); jsonSerializationWriter.WriteStartObject("baseData"); telemetryItem.SerializeData(jsonSerializationWriter); jsonSerializationWriter.WriteEndObject(); // baseData jsonSerializationWriter.WriteEndObject(); // data }
public void WritePropertyStringThrowsArgumentNullExceptionForNameInputAsNull() { using (var stringWriter = new StringWriter(CultureInfo.InvariantCulture)) { var writer = new JsonSerializationWriter(stringWriter); AssertEx.Throws <ArgumentNullException>(() => writer.WriteProperty(null, "value")); } }
public void WritePropertyIDictionaryStringStringWritesValuesWithoutDoubleQuotes() { using (var stringWriter = new StringWriter(CultureInfo.InvariantCulture)) { var writer = new JsonSerializationWriter(stringWriter); writer.WriteProperty("name", new Dictionary <string, string> { { "key1", "1" } }); AssertEx.Contains("\"key1\":\"1\"", stringWriter.ToString(), StringComparison.OrdinalIgnoreCase); } }
public void WritePropertyIDictionaryStringStringWritesPropertyNameFollowedByValuesInCurlyBraces() { using (var stringWriter = new StringWriter(CultureInfo.InvariantCulture)) { var writer = new JsonSerializationWriter(stringWriter); writer.WriteProperty("name", new Dictionary <string, string> { { "key1", "1" } }); AssertEx.StartsWith("\"name\":{", stringWriter.ToString(), StringComparison.OrdinalIgnoreCase); AssertEx.EndsWith("}", stringWriter.ToString(), StringComparison.OrdinalIgnoreCase); } }
private static void SerializeUnknownTelemetryHelper(ITelemetry telemetryItem, JsonSerializationWriter jsonSerializationWriter) { DictionarySerializationWriter dictionarySerializationWriter = new DictionarySerializationWriter(); telemetryItem.SerializeData(dictionarySerializationWriter); // Properties and Measurements are covered as part of Data if present telemetryItem.CopyGlobalPropertiesIfExist(dictionarySerializationWriter.AccumulatedDictionary); if (telemetryItem.Extension != null) { DictionarySerializationWriter extensionSerializationWriter = new DictionarySerializationWriter(); telemetryItem.Extension.Serialize(extensionSerializationWriter); // Extension is supposed to be flattened as well Utils.CopyDictionary(extensionSerializationWriter.AccumulatedDictionary, dictionarySerializationWriter.AccumulatedDictionary); Utils.CopyDictionary(extensionSerializationWriter.AccumulatedMeasurements, dictionarySerializationWriter.AccumulatedMeasurements); } jsonSerializationWriter.WriteProperty("name", telemetryItem.WriteTelemetryName(EventTelemetry.TelemetryName)); telemetryItem.WriteEnvelopeProperties(jsonSerializationWriter); // No need to copy Context - it's serialized here from the original item jsonSerializationWriter.WriteStartObject("data"); jsonSerializationWriter.WriteProperty("baseType", typeof(EventData).Name); jsonSerializationWriter.WriteStartObject("baseData"); jsonSerializationWriter.WriteProperty("ver", 2); jsonSerializationWriter.WriteProperty("name", EventNameForUnknownTelemetry); jsonSerializationWriter.WriteProperty("properties", dictionarySerializationWriter.AccumulatedDictionary); jsonSerializationWriter.WriteProperty("measurements", dictionarySerializationWriter.AccumulatedMeasurements); jsonSerializationWriter.WriteEndObject(); // baseData jsonSerializationWriter.WriteEndObject(); // data }