System.Text.RegularExpressions.Regex.Unescape轉義串處理json

                         //反轉義
                        jsonText = System.Text.RegularExpressions.Regex.Unescape(jsonText);
                        //轉義
                        jsonText = System.Text.RegularExpressions.Regex.Escape(jsonText);

    string request_result_trade_item_detail_content = CXT.Web.get(trade_item_detail_url, Encoding.Default, cookieString );
                Console.WriteLine(request_result_trade_item_detail_content);
                HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
                doc.LoadHtml(request_result_trade_item_detail_content);
                var nodes = doc.DocumentNode.SelectNodes("//script[contains(text(), 'data')]");
                foreach (var node in doc.DocumentNode.SelectNodes("//script[contains(text(), 'data')]"))
                {
                    Console.WriteLine(node.InnerText);
                    if (node.InnerText.Contains("mainOrder"))
                    {
                        string jsonText = Cxt.Uniti.StripTextTo(node.InnerText, '{', '}', 1);
                        //反轉義
                        jsonText = System.Text.RegularExpressions.Regex.Unescape(jsonText);
                        Console.WriteLine(jsonText);
                        var deserializer = new JavaScriptSerializer();
                        var dic = deserializer.Deserialize<Dictionary<string, dynamic>>(jsonText);
                        //轉義
                        jsonText = System.Text.RegularExpressions.Regex.Escape(jsonText);

                        var model1 = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(jsonText);
                    }
                }


                    //Model.deltaiData.Root deltaiData = Newtonsoft.Json.JsonConvert.DeserializeObject<Model.deltaiData.Root>(a.Replace("   var detailData = ", ""));
                }

        //
        // 摘要:
        //     通過替換爲轉義碼來轉義最小的字符集(\、*、+、?、|、{、[、(、)、^、$、.、# 和空白)。這將指示正則表達式引擎按原義解釋這些字符而不是解釋爲元字符。 
        public static string Escape(string str);

 

        //
        // 摘要:
        //     轉換輸入字符串中的任何轉義字符。 
        public static string Unescape(string str);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章