static IMessage MakeMessageInternal(TextMessageCapture capture, JsonFormatInfo formatInfo, IRegex bodyRe, ref IMatch bodyReMatch, MessagesBuilderCallback callback, DateTime sourceTime, ITimeOffsets timeOffsets) { StringBuilder messageBuf = new StringBuilder(); messageBuf.Append(capture.HeaderBuffer, capture.HeaderMatch.Index, capture.HeaderMatch.Length); if (bodyRe != null) { if (!bodyRe.Match(capture.BodyBuffer, capture.BodyIndex, capture.BodyLength, ref bodyReMatch)) { return(null); } messageBuf.Append(capture.BodyBuffer, bodyReMatch.Index, bodyReMatch.Length); } else { messageBuf.Append(capture.BodyBuffer, capture.BodyIndex, capture.BodyLength); } callback.SetCurrentPosition(capture.BeginPosition, capture.EndPosition); string messageStr = messageBuf.ToString(); JObject messageObj; try { messageObj = JObject.Parse(messageStr); } catch (Newtonsoft.Json.JsonReaderException e) { if (!TryRemoveAdditionalText(messageStr, out var fixerdMessageStr)) { throw; } try { messageObj = JObject.Parse(fixerdMessageStr); } catch { throw e; } } var transfromed = JsonTransformer.Transform( formatInfo.Transform.DeepClone() as JObject, messageObj ); var d = transfromed.Property("d")?.Value; DateTime date; if (d != null && d.Type == JTokenType.String) { date = DateTime.Parse(d.ToString(), null, System.Globalization.DateTimeStyles.RoundtripKind); } else if (d != null && d.Type == JTokenType.Date) { date = (DateTime)((JValue)d).Value; } else { throw new Exception("Bad time property \"d\""); } var t = transfromed.Property("t")?.Value?.ToString(); var m = transfromed.Property("m")?.Value; var msg = ""; if (m != null) { msg = m.ToString(); } var s = transfromed.Property("s")?.Value?.ToString(); var sev = !string.IsNullOrEmpty(s) ? char.ToLower(s[0]) : 'i'; Message ret = new Message( capture.BeginPosition, capture.EndPosition, callback.GetThread(new StringSlice(t ?? "")), new MessageTimestamp(date), new StringSlice(msg), sev == 'i' ? SeverityFlag.Info : sev == 'e' ? SeverityFlag.Error : sev == 'w' ? SeverityFlag.Warning : SeverityFlag.Info, formatInfo.ViewOptions.RawViewAllowed ? StringSlice.Concat(capture.MessageHeaderSlice, capture.MessageBodySlice).Trim() : new StringSlice(), maxLineLen: formatInfo.ViewOptions.WrapLineLength ); return(ret); }
public static void Main(string[] args) { string input = File.ReadAllText("Examples/Input.json"); string transformer = File.ReadAllText("Examples/Transformer_valueof.json"); string transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_valueofarray.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_copy.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_replace.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_delete.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_ifcondition.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_string.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_math.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_aggregate.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_arrayaggregate.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_looping.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_customfunction.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_nestedfunctions.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_xfunctions.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer_Existance.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer.json"); transformedString = JsonTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/DataTransformer.xml"); transformedString = DataTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/DataTransformer.csv"); transformedString = DataTransformer.Transform(transformer, input); Console.WriteLine("################################################################################################"); Console.WriteLine(transformedString); transformer = File.ReadAllText("Examples/Transformer.json"); transformedString = JsonConvert.SerializeObject (JsonTransformer.Transform(JObject.Parse(transformer), JObject.Parse(input))); Console.WriteLine(transformedString); Console.WriteLine("################################################################################################"); string inputJson = File.ReadAllText("Examples/ValidationInput.json"); string schemaJsonX = File.ReadAllText("Examples/SchemaX.json"); string schemaJsonY = File.ReadAllText("Examples/SchemaY.json"); string InputToSplit = File.ReadAllText("Examples/InputToSplit.json"); List <string> outputs = JsonTransformer.SplitJson(InputToSplit, "$.cars.Ford").ToList <string>(); foreach (string output in outputs) { Console.WriteLine("-----------------------------------------------------"); Console.WriteLine(output); } Console.WriteLine("################################################################################################"); JsonValidator validator = new JsonValidator(inputJson); validator.AddSchema("x", schemaJsonX); validator.AddSchema("y", schemaJsonY); validator.Validate(); Console.WriteLine("################################################################################################"); transformer = File.ReadAllText("Examples/Transformer_nestedloop.json"); transformedString = JsonConvert.SerializeObject (JsonTransformer.Transform(JObject.Parse(transformer), JObject.Parse(input))); Console.WriteLine(transformedString); Console.WriteLine("################################################################################################"); transformer = File.ReadAllText("Examples/Transformer_looptests.json"); transformedString = JsonConvert.SerializeObject (JsonTransformer.Transform(JObject.Parse(transformer), JObject.Parse(input))); Console.WriteLine(transformedString); Console.WriteLine("################################################################################################"); string inputSpecial = File.ReadAllText("Examples/InputSpecial.json"); transformer = File.ReadAllText("Examples/Transformer_customfunctionspecial.json"); transformedString = JsonConvert.SerializeObject (JsonTransformer.Transform(JObject.Parse(transformer), JObject.Parse(inputSpecial))); Console.WriteLine(transformedString); Console.WriteLine("################################################################################################"); string inputUnordered = File.ReadAllText("Examples/Input_Unordered.json"); transformer = File.ReadAllText("Examples/Transform_Unordered.json"); transformedString = JsonConvert.SerializeObject (JsonTransformer.Transform(JObject.Parse(transformer), JObject.Parse(inputUnordered))); Console.WriteLine(transformedString); Console.WriteLine("################################################################################################"); string inputUnordered2 = File.ReadAllText("Examples/Input_Unordered_2.json"); transformer = File.ReadAllText("Examples/Transform_Unordered_2.json"); transformedString = JsonConvert.SerializeObject (JsonTransformer.Transform(JObject.Parse(transformer), JObject.Parse(inputUnordered2))); Console.WriteLine(transformedString); Console.WriteLine("################################################################################################"); string inputDyn = File.ReadAllText("Examples/InputDynamic.json"); transformer = File.ReadAllText("Examples/TransformDynamic.json"); transformedString = JsonConvert.SerializeObject (JsonTransformer.Transform(JObject.Parse(transformer), JObject.Parse(inputDyn))); Console.WriteLine(transformedString); }