1. 重新设计了Generate项目及相关特性的命名,避免与其他类型混淆。

2. 补充了部分注释。
3. 修改了删除容器节点时,容器内子节点未正确删除的问题。
This commit is contained in:
fengjiayi
2025-07-30 21:15:07 +08:00
parent 93148b11a5
commit 152077e9b5
188 changed files with 2713 additions and 1406 deletions

View File

@@ -23,28 +23,57 @@ namespace Serein.Library.Utils
JsonHelper.provider = jsonPortal;
}
/// <summary>
/// 反序列化Json文本为指定类型的对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonText"></param>
/// <returns></returns>
public static T Deserialize<T>(string jsonText)
{
return provider.Deserialize<T>(jsonText);
}
/// <summary>
/// 反序列化Json文本为指定类型的对象
/// </summary>
/// <param name="jsonText"></param>
/// <param name="type"></param>
/// <returns></returns>
public static object Deserialize(string jsonText, Type type)
{
return provider.Deserialize(jsonText, type);
}
/// <summary>
/// 解析Json文本为IJsonToken对象
/// </summary>
/// <param name="json"></param>
/// <returns></returns>
public static IJsonToken Parse(string json)
{
return provider.Parse(json);
}
/// <summary>
/// 将对象序列化为Json文本
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string Serialize(object obj)
{
return provider.Serialize(obj);
}
/// <summary>
/// 创建一个Json对象使用字典初始化
/// </summary>
/// <param name="init"></param>
/// <returns></returns>
public static IJsonToken Object(Action<Dictionary<string, object>> init)
{
var dict = new Dictionary<string, object>();
@@ -52,11 +81,21 @@ namespace Serein.Library.Utils
return provider.CreateObject(dict);
}
/// <summary>
/// 创建一个Json对象使用字典初始化
/// </summary>
/// <param name="values"></param>
/// <returns></returns>
public static IJsonToken Array(IEnumerable<object> values)
{
return provider.CreateArray(values);
}
/// <summary>
/// 将对象转换为JsonToken
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static IJsonToken FromObject(object obj)
{
if (obj is System.Collections.IEnumerable && !(obj is string))