public static string SerializeDictionary(dynamic obj, JsonFormatting format, int indent) { string result = ""; foreach (dynamic element in obj) { string value = Serialize("", element.Value, format, indent, true); if (format == JsonFormatting.Compact) { result += "\"" + element.Key + "\"" + ":" + value; } else { result += "\"" + element.Key + "\"" + ": " + value; } } result = result.TrimEnd().Trim(','); if (format == JsonFormatting.Indented) { result = JsonWriter.Indent(result, indent); } return(result); }
public static string SerializaName(JsonFormatting jsonFormatting, string name) { var key = jsonFormatting.ToString() + name; if (_chachedNames.ContainsKey(key)) { return(_chachedNames[key]); } string value = null; lock (_chachedNames) { switch (jsonFormatting) { case JsonFormatting.Auto: value = name; break; case JsonFormatting.CamelCase: var s = name.Substring(1, name.Length - 1); value = $"{name[0].ToString().ToLower()}{s}"; break; case JsonFormatting.LowerCase: value = name.ToLower(); break; } return(_chachedNames.GetOrAdd(key, value)); } }
public static bool RewriteJson(string path, JsonFormatting jsonFormatting) { switch (jsonFormatting) { case JsonFormatting.Unchanged: return(false); case JsonFormatting.PrettyWhenUnindented: var header = ReadFirstChars(path, 4); if (!Regex.IsMatch(header, @"^(\{|\[)[\r\n]+ +")) { RewriteJson(path, Formatting.Indented); return(true); } return(false); case JsonFormatting.Pretty: RewriteJson(path, Formatting.Indented); return(true); case JsonFormatting.Minify: RewriteJson(path, Formatting.None); return(true); default: throw new NotImplementedException(); } }
public void RewriteJson(JsonFormatting formatting, string input, string expected, bool expectedRewrite) { File.WriteAllText(_path, input); var actualRewrite = JsonFileHelper.RewriteJson(_path, formatting); Assert.Equal(expected, File.ReadAllText(_path)); Assert.Equal(expectedRewrite, actualRewrite); }
public static string WriteName(string name, JsonFormatting format) { string result = ""; result += "\"" + name + "\""; return result; }
public static string SerializeMultiDimensionalArray(Array obj, JsonFormatting format, int indent) { string result = ""; List <List <dynamic> > Arrays = new List <List <dynamic> >(); List <int> lengths = new List <int>(); for (int a = 0; a < obj.Rank; a++) { Arrays.Add(new List <dynamic>()); } int currentRank = 0; int i = 0; foreach (dynamic dym in obj) { if (currentRank < Arrays.Count - 1) { if ((obj.GetLength(currentRank) - 1) == i) { currentRank++; i = 0; Arrays[currentRank].Add(dym); } else { Arrays[currentRank].Add(dym); i++; } } } foreach (List <dynamic> itm in Arrays) { result += Serialize("", itm, format, indent - 1, true); } if (format == JsonFormatting.Indented) { result = JsonWriter.Indent(result, indent); } return(result); // ((Array)obj).GetLength(0) }
public static async Task ExecuteAsync( HttpClient httpClient, string serviceIndexUrl, string dataDir, DownloadDepth depth, JsonFormatting jsonFormatting, int?maxPages, int?maxCommits, bool formatPaths, int parallelDownloads, IDepthLogger logger) { var cursorProvider = new CursorFactory( cursorSuffix: $"download.{depth}", defaultCursorValue: DateTimeOffset.MinValue, logger: logger); var downloader = new Downloader( httpClient, new DownloaderConfiguration { ServiceIndexUrl = serviceIndexUrl, DataDirectory = dataDir, Depth = depth, JsonFormatting = jsonFormatting, MaxPages = maxPages, MaxCommits = maxCommits, SaveToDisk = true, FormatPaths = formatPaths, ParallelDownloads = parallelDownloads, }, cursorProvider, NullVisitor.Instance, logger); await downloader.DownloadAsync(); }
public static string SerializeArray(dynamic obj, JsonFormatting format, int indent) { // Check if array is multi-dimensional if (obj is Array && ((Array)obj).Rank >= 2) { return(SerializeMultiDimensionalArray(obj, format, indent)); } string result = ""; foreach (object element in obj) { result += Serialize("", element, format, indent, true); } result = result.TrimEnd().TrimEnd(','); if (format == JsonFormatting.Indented) { result = JsonWriter.Indent(result, indent); } return(result); }
/// <summary> /// 实体转换为JSON字符串,指定是否格式化 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="t">实体对象</param> /// <param name="formatting">指定是否格式化</param> /// <returns>Json字符串</returns> public static string JsonSerializer <T>(T t, JsonFormatting formatting) { return(JsonConvert.SerializeObject(t, (Formatting)formatting)); }
private static async Task <FakeLogger> ExecuteFakeRequest(HttpMessageParts?verbosity = null, JsonFormatting jsonFormatting = JsonFormatting.None, string responseContent = FakeHttpTraceHandler.FakeResponseContent) { var logger = new FakeLogger(); var httpClientHandler = new HttpClientHandler(); httpClientHandler.UseCookies = true; httpClientHandler.CookieContainer.Add(new Cookie(CookieName, CookieValue, "", new Uri(TestUri).Host)); HttpContent fakeContent = new StringContent("{\"Foo\": \"Bar\"}", Encoding.Default, "application/json"); var builder = new HttpHandlerBuilder(new FakeHttpTraceHandler(httpClientHandler, logger) { ResponseContent = responseContent, JsonFormatting = jsonFormatting }); builder.AddHandler(new FakeHandler()) .AddHandler(new SillyHandler()) .AddHandler(new FakeHandler()); if (verbosity != null) { builder.SetHttpTracerVerbosity(verbosity.Value); } var client = new HttpClient(builder.Build()); await client.PostAsync(TestUri, fakeContent); return(logger); }
private async Task Consumer_Received(object sender, BasicDeliverEventArgs eventArgs) { var eventName = eventArgs.RoutingKey; var message = Encoding.UTF8.GetString(eventArgs.Body.ToArray()); try { if (message.ToLowerInvariant().Contains("throw-fake-exception")) { throw new InvalidOperationException($"Fake exception requested: \"{JsonFormatting.Formated(message)}\""); } await ProcessEvent(eventName, message); } catch (Exception ex) { _logger.LogWarning(ex, "----- ERROR Processing message \"{Message}\"", JsonFormatting.Formated(message)); } // Even on exception we take the message off the queue. // in a REAL WORLD app this should be handled with a Dead Letter Exchange (DLX). // For more information see: https://www.rabbitmq.com/dlx.html _consumerChannel.BasicAck(eventArgs.DeliveryTag, multiple: false); }
public string Analisar(Pedido pedido) { string retorno = string.Empty; StringBuilder parametros = new StringBuilder(); string preencher = "preencher"; parametros.Append("{"); parametros.AppendLine(); parametros.Append("ApiKey:"); parametros.Append(string.Format("\"{0}\",", pedido.TokenLoja)); parametros.AppendLine(); parametros.Append("LoginToken: "); parametros.Append(string.Format("\"{0}\",", pedido.TokenLoja)); parametros.AppendLine(); parametros.Append("Orders: ["); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("ID: "); parametros.Append(string.Format("\"{0}\",", pedido.Id)); parametros.AppendLine(); parametros.Append("Date: "); parametros.Append(string.Format("\"{0}\",", DateTime.Now)); parametros.AppendLine(); parametros.Append("Email: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Email)); parametros.AppendLine(); parametros.Append("TotalItems: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("TotalOrder: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("TotalShipping: "); parametros.Append(string.Format("\"{0}\",", pedido.Valor)); parametros.AppendLine(); parametros.Append("IP: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Currency: \"USD\","); parametros.AppendLine(); parametros.Append("Payments: "); parametros.AppendLine(); parametros.Append("["); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("Date: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Type: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("CardNumber: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Numero)); parametros.AppendLine(); parametros.Append("CardHolderName: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Nome)); parametros.AppendLine(); parametros.Append("CardExpirationDate: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Validade)); parametros.AppendLine(); parametros.Append("Amount: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("PaymentTypeID: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("CardType: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("CardBin: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("],"); parametros.AppendLine(); parametros.Append("BillingData: "); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("ID: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Type: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("BirthDate: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nascimento)); parametros.AppendLine(); parametros.Append("Gender: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Name: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nome)); parametros.AppendLine(); parametros.Append("Email: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Email)); parametros.AppendLine(); parametros.Append("Address: "); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("Street: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Rua)); parametros.AppendLine(); parametros.Append("City: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Cidade)); parametros.AppendLine(); parametros.Append("State: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Estado)); parametros.AppendLine(); parametros.Append("Comp: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Complemento)); parametros.AppendLine(); parametros.Append("ZipCode: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.CEP)); parametros.AppendLine(); parametros.Append("County: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Pais)); parametros.AppendLine(); parametros.Append("Number: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Numero)); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("Phones: ["); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("Type: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("CountryCode: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("AreaCode: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Number: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("]"); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("ShippingData: "); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("ID: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Type: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Name: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nome)); parametros.AppendLine(); parametros.Append("Gender: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Email: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Email)); parametros.AppendLine(); parametros.Append("BirthDate: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nascimento)); parametros.AppendLine(); parametros.Append("Address: "); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("Street: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Rua)); parametros.AppendLine(); parametros.Append("City: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Cidade)); parametros.AppendLine(); parametros.Append("State: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Estado)); parametros.AppendLine(); parametros.Append("Comp: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Complemento)); parametros.AppendLine(); parametros.Append("ZipCode: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.CEP)); parametros.AppendLine(); parametros.Append("County: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Pais)); parametros.AppendLine(); parametros.Append("Number: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Numero)); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("Phones: ["); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("Type: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("CountryCode: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("AreaCode: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Number: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("]"); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("Items: ["); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("ProductId: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("ProductTitle: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Price: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Category: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Quantity: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("ProductId: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("ProductTitle: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Price: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Category: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Quantity: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("],"); parametros.AppendLine(); parametros.Append("SessionID: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("],"); parametros.AppendLine(); parametros.Append("AnalysisLocation: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Reanalysis: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); string json = JsonFormatting.Ident(parametros.ToString()); var client = new RestClient("https://sandbox.clearsale.com.br/api/order/send"); var request = new RestRequest(Method.POST); request.AddHeader("Postman-Token", "3d6e3cf9-d361-45eb-b53a-5a7d39c83736"); request.AddHeader("Cache-Control", "no-cache"); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", parametros, ParameterType.RequestBody); IRestResponse response = client.Execute(request); //return response.Content; return("APA"); }
public static string Serialize(string name, object obj, JsonFormatting format, int indentLevel, bool justValue = false) { string result = ""; if (obj == null) { if (justValue) { result += JsonWriter.WriteValue(obj, JsonKeyValueType.Null, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, obj, JsonKeyValueType.Null, format, indentLevel); } } else if (obj is bool) { if (justValue) { result += JsonWriter.WriteValue(obj, JsonKeyValueType.Boolean, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, obj, JsonKeyValueType.Boolean, format, indentLevel); } } else if (obj is string) { if (justValue) { result += JsonWriter.WriteValue(obj, JsonKeyValueType.Text, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, obj, JsonKeyValueType.Text, format, indentLevel); } } else if (obj is DateTime) { if (justValue) { result += JsonWriter.WriteValue(obj, JsonKeyValueType.DateTime, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, obj, JsonKeyValueType.DateTime, format, indentLevel); } } else if (obj.IsNumericType()) { if (justValue) { result += JsonWriter.WriteValue(obj, JsonKeyValueType.Numerical, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, obj, JsonKeyValueType.Numerical, format, indentLevel); } } else if (obj.IsArray()) { if (justValue) { result += JsonWriter.WriteValue(obj, JsonKeyValueType.Array, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, obj, JsonKeyValueType.Array, format, indentLevel); } } else if (obj.IsDictionary()) { if (justValue) { result += JsonWriter.WriteValue(obj, JsonKeyValueType.Dictionary, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, obj, JsonKeyValueType.Dictionary, format, indentLevel); } } else if (obj is Bitmap) { if (justValue) { result += JsonWriter.WriteValue(ImageToText.ConvertImageToText((Bitmap)obj, System.Drawing.Imaging.ImageFormat.Png), JsonKeyValueType.Text, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, ImageToText.ConvertImageToText((Bitmap)obj, System.Drawing.Imaging.ImageFormat.Png), JsonKeyValueType.Text, format, indentLevel); } } else if (obj is Image) { if (justValue) { result += JsonWriter.WriteValue(ImageToText.ConvertImageToText((Image)obj, System.Drawing.Imaging.ImageFormat.Png), JsonKeyValueType.Text, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, ImageToText.ConvertImageToText((Image)obj, System.Drawing.Imaging.ImageFormat.Png), JsonKeyValueType.Text, format, indentLevel); } } else if (obj is Point) { if (justValue) { result += JsonWriter.WriteValue(new PointConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, new PointConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } } else if (obj is Size) { if (justValue) { result += JsonWriter.WriteValue(new SizeConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, new SizeConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } } else if (obj is Rectangle) { if (justValue) { result += JsonWriter.WriteValue(new RectangleConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, new RectangleConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } } else if (obj is Color) { if (justValue) { result += JsonWriter.WriteValue(new ColorConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, new ColorConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } } else if (obj is Font) { if (justValue) { result += JsonWriter.WriteValue(new FontConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, new FontConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } } else if (obj is char) { if (justValue) { result += JsonWriter.WriteValue(new CharConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, new CharConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } } else if (obj is Guid) { if (justValue) { result += JsonWriter.WriteValue(new GuidConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, new GuidConverter().ConvertToString(obj), JsonKeyValueType.Text, format, indentLevel); } } else if (justValue) { result += JsonWriter.WriteValue(obj, JsonKeyValueType.Object, format, indentLevel); } else { result += JsonWriter.WriteKeyValuePair(name, obj, JsonKeyValueType.Object, format, indentLevel); } return(result); }
public async Task PublishThroughEventBusAsync(IntegrationEvent evt) { try { _logger.LogInformation("----- Publishing integration event: {IntegrationEventId_published} from {AppName} - ({@IntegrationEvent})", evt.Id, "POSIntegrationEventService", JsonFormatting.Formated(evt)); await _eventLogService.MarkEventAsInProgressAsync(evt.Id); _eventBus.Publish(evt); await _eventLogService.MarkEventAsPublishedAsync(evt.Id); } catch (Exception ex) { _logger.LogError(ex, "ERROR Publishing integration event: {IntegrationEventId} from {AppName} - ({@IntegrationEvent})", evt.Id, "POSIntegrationEventService", JsonFormatting.Formated(evt)); //await _eventLogService.MarkEventAsFailedAsync(evt.Id); } }
public static ActionResult JsonJpathSched(Session session) { AssemblyName me = typeof(JsonJPath).Assembly.GetName(); session.Log($"Initialized from {me.Name} v{me.Version}"); List <JsonJPathCatalog> catalogs = new List <JsonJPathCatalog>();; using (View jsonView = session.Database.OpenView("SELECT `PSW_JsonJPath`.`File_`, `PSW_JsonJPath`.`Component_`, `PSW_JsonJPath`.`FilePath`, `PSW_JsonJPath`.`JPath`, `PSW_JsonJPath`.`Value`, `PSW_JsonJPath`.`Formatting`, `PSW_JsonJPath`.`ErrorHandling` FROM `PSW_JsonJPath`")) { jsonView.Execute(null); foreach (Record rec in jsonView) { using (rec) { JsonJPathCatalog ctlg = new JsonJPathCatalog(); string fileId = rec[1] as string; string component = rec[2] as string; string filePath = rec[3] as string; string jpath = rec[4] as string; string value = rec[5] as string; int?formatting = rec[6] as int?; int?errorHandling = rec[7] as int?; ctlg.JPathObfuscated = session.Obfuscate(jpath); ctlg.ValueObfuscated = session.Obfuscate(value); ctlg.JPath = session.Format(jpath); ctlg.Value = session.Format(value); bool isHidden = !ctlg.Value.Equals(ctlg.ValueObfuscated); if ((formatting != null) && Enum.IsDefined(typeof(JsonFormatting), (int)formatting)) { JsonFormatting jsonFormat = (JsonFormatting)formatting; switch (jsonFormat) { default: break; case JsonFormatting.String: ctlg.Value = JsonConvert.ToString(ctlg.Value); break; case JsonFormatting.Boolean: if (string.IsNullOrWhiteSpace(ctlg.Value)) { ctlg.Value = JsonConvert.False; } else if (bool.TryParse(ctlg.Value, out bool b)) { ctlg.Value = b ? JsonConvert.True : JsonConvert.False; } else if (int.TryParse(ctlg.Value, out int i) && (i == 0)) { ctlg.Value = JsonConvert.False; } else { ctlg.Value = JsonConvert.True; } break; } if (!isHidden) { ctlg.ValueObfuscated = ctlg.Value; } } // Sanity checks if (string.IsNullOrWhiteSpace(component)) { session.Log("Component must be supplied"); return(ActionResult.Failure); } if (string.IsNullOrWhiteSpace(fileId) == string.IsNullOrEmpty(filePath)) { session.Log("Either File_ or FilePath must be supplied"); return(ActionResult.Failure); } if (string.IsNullOrEmpty(fileId)) { ctlg.FilePath = session.Format(filePath); } else // Get component by file Id { ctlg.FilePath = session.Format($"[#{fileId}]"); } if (errorHandling != null) { ctlg.ErrorHandling = (ErrorHandling)errorHandling; } ComponentInfo ci = session.Components[component]; if (ci == null) { session.Log($"Component '{component}' not present in package"); return(ActionResult.Failure); } // Path will be empty if component is not scheduled to do anything. We'll check that only if action is relevant. switch (ci.RequestState) { case InstallState.Default: case InstallState.Local: case InstallState.Source: if (string.IsNullOrWhiteSpace(ctlg.FilePath)) { session.Log("Can't get target path for file"); return(ActionResult.Failure); } session.LogUnformatted($"Will replace JSON token matching JPath '{ctlg.JPathObfuscated}' with '{ctlg.ValueObfuscated}' in file '{ctlg.FilePath}'"); catalogs.Add(ctlg); break; default: session.Log($"Component '{ci.Name}' action isn't install, or repair. Skipping JPath"); continue; } } } } if (catalogs.Count > 0) { XmlSerializer srlz = new XmlSerializer(catalogs.GetType()); using (StringWriter sw = new StringWriter()) { srlz.Serialize(sw, catalogs); session["JsonJpathExec"] = sw.ToString(); session.DoAction("JsonJpathExec"); } } return(ActionResult.Success); }
public string CartaoDeCredito(Pedido pedido) { StringBuilder parametros = new StringBuilder(); string aqui = "AQUI"; parametros.Append("{"); parametros.AppendLine(); parametros.Append("\"MerchantOrderId\":"); parametros.Append(string.Format("\"{0}\",", pedido.TokenLoja)); parametros.AppendLine(); parametros.Append("\"Customer\":{"); parametros.AppendLine(); parametros.Append("\"Name\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nome)); parametros.AppendLine(); parametros.Append("\"Identity\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CPF)); parametros.AppendLine(); parametros.Append("\"IdentityType\":\"CPF\","); parametros.AppendLine(); parametros.Append("\"Email\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Email)); parametros.AppendLine(); parametros.Append("\"Birthdate\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nascimento)); parametros.AppendLine(); parametros.Append("\"Address\":{"); parametros.AppendLine(); parametros.Append("\"Street\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Rua)); parametros.AppendLine(); parametros.Append("\"Number\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Numero)); parametros.AppendLine(); parametros.Append("\"Complement\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Complemento)); parametros.AppendLine(); parametros.Append("\"ZipCode\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.CEP)); parametros.AppendLine(); parametros.Append("\"City\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Cidade)); parametros.AppendLine(); parametros.Append("\"State\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Estado)); parametros.AppendLine(); parametros.Append("\"Country\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Pais)); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("\"DeliveryAddress\": {"); parametros.AppendLine(); parametros.Append("\"Street\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Rua)); parametros.AppendLine(); parametros.Append("\"Number\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Numero)); parametros.AppendLine(); parametros.Append("\"Complement\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Complemento)); parametros.AppendLine(); parametros.Append("\"ZipCode\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.CEP)); parametros.AppendLine(); parametros.Append("\"City\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Cidade)); parametros.AppendLine(); parametros.Append("\"State\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Estado)); parametros.AppendLine(); parametros.Append("\"Country\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Pais)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("\"Payment\":{ "); parametros.AppendLine(); parametros.Append("\"Type\":\"CreditCard\","); parametros.AppendLine(); parametros.Append("\"Amount\":"); parametros.Append(string.Format("\"{0}\",", pedido.Valor)); parametros.AppendLine(); parametros.Append("\"Currency\":\"BRL\","); parametros.AppendLine(); parametros.Append("\"Country\":\"BRA\","); parametros.AppendLine(); parametros.Append("\"Provider\":\"Simulado\","); parametros.AppendLine(); parametros.Append("\"ServiceTaxAmount\":0,"); parametros.AppendLine(); parametros.Append("\"Installments\":1,"); parametros.AppendLine(); parametros.Append("\"Interest\":\"ByMerchant\","); parametros.AppendLine(); parametros.Append("\"Capture\":false,"); parametros.AppendLine(); parametros.Append("\"Authenticate\":false,"); parametros.AppendLine(); parametros.Append("\"Recurrent\": false,"); parametros.AppendLine(); parametros.Append("\"SoftDescriptor\":\"123456789ABCD\","); parametros.AppendLine(); parametros.Append("\"CreditCard\":{"); parametros.AppendLine(); parametros.Append("\"CardNumber\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Numero)); parametros.AppendLine(); parametros.Append("\"Holder\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Nome)); parametros.AppendLine(); parametros.Append("\"ExpirationDate\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Validade)); parametros.AppendLine(); parametros.Append("\"SecurityCode\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.CodigoSeguranca)); parametros.AppendLine(); parametros.Append("\"SaveCard\":\"false\","); parametros.AppendLine(); parametros.Append("\"Brand\":"); parametros.Append(string.Format("\"{0}\"", pedido.Cliente.CartaoDeCredito.Bandeira)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("}"); string json = JsonFormatting.Ident(parametros.ToString()); var client = new RestClient("http:///%7B%7BapiUrl%7D%7D/1/sales"); var request = new RestRequest(Method.POST); request.AddHeader("postman-token", "87b55406-11be-463c-e8b6-d5cea97c8886"); request.AddHeader("cache-control", "no-cache"); request.AddHeader("merchantkey", "{{" + pedido.TokenLoja + "}}"); request.AddHeader("merchantid", "{{" + pedido.TokenLoja + "}}"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", parametros, ParameterType.RequestBody); //IRestResponse response = client.Execute(request); //return response.Content; return(CreditCardTransactionStatusEnum.AuthorizedPendingCapture.ToString()); }
public static string ConvertObjectToJson(object obj, JsonFormatting format = JsonFormatting.Indented, int identationLevel = 1) { string result = ""; #region WIP // Check if it is a type that needs to be serialized into a string and not any other way, and if so, serialize it the primitive way! //bool StringSerialize = false; // Whether it will be serialized to a string or object (String = "", Object = {}) //IConvertible convertible = obj as IConvertible; //TypeCode typCode = convertible.GetTypeCode(); //string convertedValue = (string)convertible.ToType(typeof(string), CultureInfo.InvariantCulture); // If it is an "object" then go ahead and put it into a string. #endregion if (format == JsonFormatting.Compact) { result = "{"; } else if (format == JsonFormatting.CompactReadable) { result = "{ "; } else if (format == JsonFormatting.Indented) { result = $"{{{Environment.NewLine}"; } var bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public; var fieldNames = obj.GetType().GetFields(bindingFlags) .Select(field => field.Name) .ToList(); var fieldValues = obj.GetType() .GetFields(bindingFlags) .Select(field => field.GetValue(obj)) .ToList(); for (int a = 0; a < fieldNames.Count; a++) { if (fieldNames[a].StartsWith("<")) { fieldNames[a] = fieldNames[a].Split('<')[1].Split('>')[0]; } } int i = 0; foreach (string fieldName in fieldNames) { bool serialize = true; try { var pi = obj.GetType().GetField(fieldName); if (Attribute.IsDefined(pi, typeof(ABJsonIgnore))) { serialize = false; } } catch { } if (serialize) { if (format == JsonFormatting.Indented) { result += JsonWriter.Indent(JsonSerializer.Serialize(fieldName, fieldValues[i], format, identationLevel), identationLevel); } else { result += JsonSerializer.Serialize(fieldName, fieldValues[i], format, identationLevel); } } i++; } result = result.TrimEnd().TrimEnd(','); if (format == JsonFormatting.Compact) { result += "}"; } else if (format == JsonFormatting.CompactReadable) { result += " }"; } else if (format == JsonFormatting.Indented) { result += $"{Environment.NewLine}}}"; } return(result); }
public HttpHandlerBuilder SetJsonFormatting(JsonFormatting jsonFormatting) { _rootHandler.JsonFormatting = jsonFormatting; return(this); }
public static string WriteKeyValuePair(string name, object obj, JsonKeyValueType type, JsonFormatting format, int indent) { string result = ""; if (format == JsonFormatting.Compact) result = WriteName(name, format) + ":" + WriteValue(obj, type, format, indent); else if (format == JsonFormatting.CompactReadable) result = WriteName(name, format) + ": " + WriteValue(obj, type, format, indent); else if (format == JsonFormatting.Indented) result = WriteName(name, format) + ": " + WriteValue(obj, type, format, indent); return result; }
public static string WriteValue(object obj, JsonKeyValueType type, JsonFormatting format, int indent) { string result = ""; switch (type) { case JsonKeyValueType.Text: if (format == JsonFormatting.Compact) result += "\"" + obj.ToString() + "\","; else if (format == JsonFormatting.CompactReadable) result += "\"" + obj.ToString() + "\", "; else if (format == JsonFormatting.Indented) result += "\"" + obj.ToString() + $"\",{Environment.NewLine}"; break; case JsonKeyValueType.DateTime: if (format == JsonFormatting.Compact) result += "\"" + JsonSerializer.SerializeDateTime((DateTime)obj) + "\","; else if (format == JsonFormatting.CompactReadable) result += "\"" + JsonSerializer.SerializeDateTime((DateTime)obj) + "\", "; else if (format == JsonFormatting.Indented) result += "\"" + JsonSerializer.SerializeDateTime((DateTime)obj) + $"\",{Environment.NewLine}"; break; case JsonKeyValueType.Boolean: case JsonKeyValueType.Numerical: if (format == JsonFormatting.Compact) result += obj.ToString().ToLower() + ","; else if (format == JsonFormatting.CompactReadable) result += obj.ToString().ToLower() + ", "; else if (format == JsonFormatting.Indented) result += obj.ToString().ToLower() + $",{Environment.NewLine}"; break; case JsonKeyValueType.Null: if (format == JsonFormatting.Compact) result += "null,"; else if (format == JsonFormatting.CompactReadable) result += "null, "; else if (format == JsonFormatting.Indented) result += $"null, {Environment.NewLine}"; break; case JsonKeyValueType.Array: if (format == JsonFormatting.Compact) if (obj.GetType().IsArray) result += "[" + JsonSerializer.SerializeArray(((dynamic)obj), format, indent + 1) + "],"; else result += "[" + JsonSerializer.SerializeArray(((dynamic)obj).ToArray(), format, indent + 1) + "],"; else if (format == JsonFormatting.CompactReadable) if (obj.GetType().IsArray) result += "[" + JsonSerializer.SerializeArray(((dynamic)obj), format, indent + 1) + "], "; else result += "[" + JsonSerializer.SerializeArray(((dynamic)obj).ToArray(), format, indent + 1) + "], "; else if (format == JsonFormatting.Indented) if (obj.GetType().IsArray) result += $"[{Environment.NewLine}" + JsonSerializer.SerializeArray(((dynamic)obj), format, indent + 1) + "],"; else result += $"[{Environment.NewLine}" + JsonSerializer.SerializeArray(((dynamic)obj).ToArray(), format, indent + 1) + $"],{Environment.NewLine}"; break; case JsonKeyValueType.Dictionary: if (format == JsonFormatting.Compact) result += "{" + JsonSerializer.SerializeDictionary(((dynamic)obj), format, indent + 1) + "},"; else if (format == JsonFormatting.CompactReadable) result += "{" + JsonSerializer.SerializeDictionary(((dynamic)obj), format, indent + 1) + "}, "; else if (format == JsonFormatting.Indented) result += $"{{{Environment.NewLine}" + JsonSerializer.SerializeDictionary(((dynamic)obj), format, indent + 1) + $"}},{Environment.NewLine}"; break; case JsonKeyValueType.Object: if (format == JsonFormatting.Compact) result += JsonClassConverter.ConvertObjectToJson(obj, format, indent + 1) + ","; else if (format == JsonFormatting.CompactReadable) result += JsonClassConverter.ConvertObjectToJson(obj, format, indent + 1) + ", "; else if (format == JsonFormatting.Indented) result += JsonClassConverter.ConvertObjectToJson(obj, format, indent + 1) + $",{Environment.NewLine}"; break; } return result; }
/// <summary> /// Initializes a new instance of the <see cref="JsonLogFormatter" /> class with the specified formatting options. /// </summary> /// <param name="formatting">The formatting options.</param> public JsonLogFormatter(JsonFormatting formatting) { this.Formatting = formatting; }
public static string JsonSerializer <T>(T t, JsonFormatting formatting, params Converter[] converters) { return(JsonConvert.SerializeObject(t, (Formatting)formatting, converters)); }
public override ValidationResult Validate(string json) { try { var resultadoDoParse = JSchema.Parse(json); } catch (JsonReaderException ex) { var lineNumber = ex.LineNumber; var linePosition = ex.LinePosition; textBox2.Text = string.Format("JSON inválido na linha {0} e na coluna {1}.", lineNumber, linePosition); return; } var parseObj = JObject.Parse(json); IList <ValidationError> errors; var valid = parseObj.IsValid(notaFiscalSelecionada.schema, out errors); if (valid) { string formatted = JsonFormatting.Ident(jsonRecebido); textBox2.Text = "JSON Válido"; textBox1.Text = formatted.ToString(); } else { var strBuilder = new StringBuilder(); foreach (var error in errors) { if (error.ErrorType == ErrorType.Type) { strBuilder.AppendLine(string.Format("Erro no campo {0} esperando {1} e veio {2} na linha {3} na coluna {4}", error.Path, error.Schema.Type.Value.ToString(), error.Value != null ? error.Value.GetType().ToString() : "null", error.LineNumber, error.LinePosition)); } else if (error.ErrorType == ErrorType.Required) { var campos = string.Join(",", ((IList <string>)error.Value)); if (string.IsNullOrEmpty(error.Path)) { strBuilder.AppendLine(string.Format("Campo {0} obrigatório na raiz", campos)); } else { strBuilder.AppendLine(string.Format("Campo {0} obrigatório dentro de {1}", campos, error.Path)); } } } textBox2.Text = strBuilder.ToString(); } }
public static string JsonSerializer <T>(T t, Type type, JsonFormatting formatting, SerializerSettings settings) { return(JsonConvert.SerializeObject(t, type, (Formatting)formatting, settings)); }
public JsonFormattingTests() { var logger = new Mock <ILogger <JsonFormatting> >(); _formatting = new JsonFormatting(logger.Object); }
public async Task <TResponse> Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate <TResponse> next) { var response = default(TResponse); var typeName = request.GetGenericTypeName(); try { if (_dbContext.HasActiveTransaction) { return(await next()); } var strategy = _dbContext.Database.CreateExecutionStrategy(); await strategy.ExecuteAsync(async() => { Guid transactionId; using (var transaction = await _dbContext.BeginTransactionAsync()) using (LogContext.PushProperty("TransactionContext", transaction)) { _logger.LogInformation("----- Begin transaction {TransactionId} for {CommandName} ({@Command})", transaction.TransactionId, typeName, JsonFormatting.Formated(request)); response = await next(); _logger.LogInformation("----- Commit transaction {TransactionId} for {CommandName}", transaction.TransactionId, typeName); await _dbContext.CommitTransactionAsync(transaction); transactionId = transaction.TransactionId; } await _posServiceIntegrationEventService.PublishEventsThroughEventBusAsync(transactionId); }); return(response); } catch (Exception ex) { _logger.LogError(ex, "ERROR Handling transaction for {CommandName} ({@Command})", typeName, request); throw; } }