在 C# 中撰寫包含雙引號 " 與反斜線 \ 的字串常值時,若直接寫 \"callbackURL\":\",編譯器會報「無法識別的轉義序列」,因為 \ 在一般字串中是轉義字元,需雙寫或使用逐字字串。
string callbackURL = BetWeen(html, "callbackURL\":\"", "");
// 編譯錯誤:\ " 被視為轉義序列,但 \" 後面沒有合法字元
string pattern = "callbackURL\\\":\\\""; // 每個 \ 和 " 都加一個 \
string pattern = @"callbackURL\"":\"""; // @ 開頭,內部 " 寫兩次,\ 不需轉義
既然來源是 JSON,強烈建議使用 Newtonsoft.Json (Json.NET) 或 .NET 內建 System.Text.Json 直接反序列化為物件,避免脆弱的字串剖析:
// Json.NET 範例
var obj = JObject.Parse(html);
string url = obj["callbackURL"]?.ToString();
// System.Text.Json (.NET Core 3.0+ / .NET 5+)
var doc = JsonDocument.Parse(html);
string url = doc.RootElement.GetProperty("callbackURL").GetString();
JSON 解析器自動處理轉義、編碼、巢狀結構,程式碼更健壯、可維護。