假设我有一个HtmlDocument变量:
HtmlDocument document = Client.Get(My_Webpage);
其中内部HTML看起来像这样:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
lang="en"
xml:lang="en"
dir="ltr">
...
<head>
<script>...</script>
<script type="text/javascript">...</script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(*JSON THAT I NEED*)
//--><!]]>
</script>
</head>
...
有没有更简单的方法来提取JSON的那些?目前我只是将HTML作为字符串来操作以检索内容,然后将其反序列化为对象。然而,这似乎不是正确的方法。
答案 0 :(得分:0)
构建它的典型方法是:
服务器端您有服务(using System.Web.Mvc;
)
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public JsonResult getData(int nr)
{
return Json(Enumerable.Range(nr));
}
您有客户端
$.ajax({
url: 'YourServiceURL',
success: function(data) {
alert('Web Service Called!');
}
});
您可能需要查看:http://www.asp.net/get-started
答案 1 :(得分:0)
我会使用正则表达式:
string jsonYouNeed = Regex.Match(documentInnerHtml,@"jQuery\.extend\((.*?)\)").Groups[1].Value;