UNIVPLMDataIntegration/Admin.NET/Admin.NET.Core/Ai/Utils/LLMJsonTools.cs

46 lines
1.2 KiB
C#

using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace Admin.NET.Core.Ai.Utils;
/// <summary>
/// LLM JSON 工具类
/// </summary>
public class LLMJsonTools
{
/// <summary>
/// 序列化对象
/// </summary>
/// <param name="obj">对象</param>
/// <returns>JSON字符串</returns>
public static string SerializeObject(object obj)
{
var settings = new JsonSerializerSettings
{
ContractResolver = new DefaultContractResolver
{
NamingStrategy = new SnakeCaseNamingStrategy()
}
};
return JsonConvert.SerializeObject(obj, settings);
}
/// <summary>
/// 反序列化JSON字符串
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="json">JSON字符串</param>
/// <returns>对象</returns>
public static T DeserializeObject<T>(string json)
{
var settings = new JsonSerializerSettings
{
ContractResolver = new DefaultContractResolver
{
NamingStrategy = new SnakeCaseNamingStrategy()
}
};
return JsonConvert.DeserializeObject<T>(json, settings);
}
}