我们正在加载的服务之一就是使用纯JSON对象进行响应。我们正在使用html agility pack加载所有服务,除此之外。其他服务正在呈现脚本标记,其中包含JSON,并且它按预期工作。但是当它以非html格式出现时,我无法加载这些数据。加载的文档没有元素,Text属性是空字符串,DocumentElement的外部/内部html抛出对象null异常,innerText为空或null。
我尝试使用HttpWebRequest加载这一项服务并完成工作,但我不想仅仅因为这项服务而混合技术。
是否可以使用HtmlAgilityPack加载纯JSON数据页?
答案 0 :(得分:1)
更新:
原来我误解了这个问题。
HAP的核心功能是用于解析HTML,而您的问题在于下载HTML(在这种情况下是JSON)。 HAP的var price = parseFloat($('#price').text()) || 0; //parseFloat($('#price').val()) || 0;
var qty = parseInt($('input[name=quantity]').val());
var total = price * qty;
$('#total').text(total);
仅提供执行此任务的基本功能,因此当您发现自己处于HtmlWeb
不再有效的情况时,您很可能必须切换到其他工具。这是另一种情况:HTML Agility Pack settings
初步答案:
快速测试显示HtmlWeb
返回JSON就好了:
DocumentElement.InnerText
现场演示:https://dotnetfiddle.net/nPT49L
如果这不适合您,请发布将演示此问题的示例JSON数据。