System.Text.RegularExpressions.Regex.Unescape转义串处理json

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/chenxiaotao22/article/details/102779791

                         //反转义
                        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);

猜你喜欢

转载自blog.csdn.net/chenxiaotao22/article/details/102779791