public static dynamic ParseValue(this JsonElement el)
        {
            switch (el.ValueKind)
            {
            case JsonValueKind.Object:
                return(el.CreateDictionary());

            case JsonValueKind.Array:
                var list = new List <dynamic>();
                foreach (var item in el.EnumerateArray())
                {
                    list.Add(item.ParseValue());
                }
                return(list.ToArray());

            case JsonValueKind.Number:
                return(el.GetDouble());

            case JsonValueKind.String:
                return(el.GetString());

            case JsonValueKind.False:
            case JsonValueKind.True:
                return(el.GetBoolean());

            case JsonValueKind.Null:
            case JsonValueKind.Undefined:
            default:
                return(null);
            }
        }