Files
MAF1/MAF1.Core/Utils/JsonText.cs
T
admin777 950d09ddb0 docs: 为 CLI、网页编排器和插件协议补充学习向注释
在核心类型、图执行器、stdio 插件和前端入口写清职责与对照路径,不改运行行为。
2026-08-28 11:51:48 +08:00

31 lines
935 B
C#

namespace MAF1.Utils;
/// <summary>
/// 从模型回复里抽出 JSON 对象。模型常包 ```json ... ```,或在前后加说明文字。
/// </summary>
public static class JsonText
{
public static string UnwrapObject(string text)
{
string trimmed = text.Trim();
if (trimmed.StartsWith("```", StringComparison.Ordinal))
{
int firstNewLine = trimmed.IndexOf('\n');
int lastFence = trimmed.LastIndexOf("```", StringComparison.Ordinal);
if (firstNewLine >= 0 && lastFence > firstNewLine)
{
trimmed = trimmed[(firstNewLine + 1)..lastFence].Trim();
}
}
int objectStart = trimmed.IndexOf('{');
int objectEnd = trimmed.LastIndexOf('}');
if (objectStart >= 0 && objectEnd > objectStart)
{
return trimmed[objectStart..(objectEnd + 1)];
}
return trimmed;
}
}