namespace MAF1.Utils; /// /// 从模型回复里抽出 JSON 对象。模型常包 ```json ... ```,或在前后加说明文字。 /// 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; } }