From 4cd5b7e9a1a4c717ddbedc5d764283b7e3f8d22b Mon Sep 17 00:00:00 2001 From: Haiping Date: Thu, 14 Dec 2023 15:15:07 -0600 Subject: [PATCH] JsonArrayContent --- .../Utilities/StringExtensions.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/Infrastructure/BotSharp.Abstraction/Utilities/StringExtensions.cs b/src/Infrastructure/BotSharp.Abstraction/Utilities/StringExtensions.cs index 3b9c0a0f..a7ffe5af 100644 --- a/src/Infrastructure/BotSharp.Abstraction/Utilities/StringExtensions.cs +++ b/src/Infrastructure/BotSharp.Abstraction/Utilities/StringExtensions.cs @@ -62,4 +62,25 @@ public static class StringExtensions return JsonSerializer.Deserialize(text, options); } + + public static string JsonArrayContent(this string text) + { + var m = Regex.Match(text, @"\[(.|\n|\r)*\]"); + return m.Success ? m.Value : "[]"; + } + + public static T[]? JsonArrayContent(this string text) + { + text = JsonArrayContent(text); + + var options = new JsonSerializerOptions + { + PropertyNameCaseInsensitive = true, + PropertyNamingPolicy = JsonNamingPolicy.CamelCase, + WriteIndented = true, + AllowTrailingCommas = true + }; + + return JsonSerializer.Deserialize(text, options); + } }