36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
using System.Text.Json;
|
|
|
|
namespace DramaLing.Api.Services.AI.Utils;
|
|
|
|
/// <summary>
|
|
/// AI 生成同義詞的解析工具類
|
|
/// </summary>
|
|
public static class SynonymsParser
|
|
{
|
|
/// <summary>
|
|
/// 解析 AI 生成的同義詞 JSON 字串為字串陣列
|
|
/// </summary>
|
|
/// <param name="synonymsJson">JSON 格式的同義詞字串,如 ["word1", "word2"]</param>
|
|
/// <returns>解析後的同義詞陣列</returns>
|
|
public static string[] ParseSynonymsJson(string? synonymsJson)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(synonymsJson))
|
|
return Array.Empty<string>();
|
|
|
|
try
|
|
{
|
|
var synonyms = JsonSerializer.Deserialize<string[]>(synonymsJson);
|
|
return synonyms ?? Array.Empty<string>();
|
|
}
|
|
catch (JsonException)
|
|
{
|
|
// JSON 解析失敗,返回空陣列
|
|
return Array.Empty<string>();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
// 其他異常,返回空陣列
|
|
return Array.Empty<string>();
|
|
}
|
|
}
|
|
} |