重新设计了Libray.Json Api以及 WebSocket 的交互处理方式

This commit is contained in:
fengjiayi
2025-08-02 10:48:31 +08:00
parent 1bccccc835
commit 6fc57458a7
29 changed files with 883 additions and 348 deletions

View File

@@ -7,11 +7,36 @@ using System.Threading.Tasks;
namespace Serein.Library.Api
{
/// <summary>
/// JSON数据交互的Token接口允许使用不同的JSON库进行数据处理。
/// </summary>
public interface IJsonToken
{
/// <summary>
/// 获取当前Token的类型可能是值、对象或数组。
/// </summary>
TokenType Type { get; }
/// <summary>
/// 获取当前Token的类型可能是值、对象或数组。
/// </summary>
public enum TokenType
{
/// <summary>
/// 表示一个值类型的Token例如字符串、数字或布尔值。
/// </summary>
Value,
/// <summary>
/// 表示一个对象类型的Token通常是一个键值对集合。
/// </summary>
Object,
/// <summary>
/// 表示一个数组类型的Token通常是一个元素列表。
/// </summary>
Array,
}
/// <summary>
/// 获取 Token
/// </summary>
@@ -19,12 +44,6 @@ namespace Serein.Library.Api
/// <returns></returns>
IJsonToken this[object name] { get; }
/* /// <summary>
/// 获取 Token 数组的元素,允许通过索引访问数组中的元素。
/// </summary>
/// <param name="index"></param>
/// <returns></returns>
IJsonToken this[int index] { get; }*/
/// <summary>
/// 获取指定名称的属性如果存在则返回true并通过out参数返回对应的IJsonToken对象。

View File

@@ -145,15 +145,14 @@ namespace Serein.Library
/// <returns></returns>
public static IJsonToken json(string content)
{
/*if (string.IsNullOrWhiteSpace(content))
{
return JsonHelper.Object(dict => { }) ;
}*/
return JsonHelper.Parse(content);
}
#endregion

View File

@@ -56,7 +56,6 @@ namespace Serein.Library.Utils
public static IJsonToken Parse(string json)
{
return provider.Parse(json);
}
/// <summary>