Disclaimer: This article is a blogger original article, follow the CC 4.0 BY-SA copyright agreement, reproduced, please attach the original source link and this statement.
//反转义
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 = ", ""));
}
//
// Summary:
// replaced by an escape code to escape a minimum set of characters (\, *, +,, |, {, [, (,), ^, $,, # and blank?.) . This will indicate that the regular expression engine literally interpret these characters and not interpreted as a metacharacter.
public static string Escape (string str) ;
//
// 摘要:
// 转换输入字符串中的任何转义字符。
public static string Unescape(string str);