我有一个经典的ASP页面(VBscript),该页面在服务器端生成XML,然后由Response.Write编写。该页面完全没有客户端。
但是我需要将其转换为JSON。由于我找不到能够工作的ASP服务器端方式(完全不同的主题),因此我在客户端使用找到的Javascript代码进行了处理,最后将其文档化。将其写入页面。
问题在于结果不一样:如果在http RESPONSE之前只是XML,现在的响应就是javascript代码,该javascript代码向浏览器写入JSON,而不是响应。我了解这个权利吗?
换句话说,如果在我使用xml作为响应之前,现在响应是这样的:
<script type="text/javascript">
var xmlObj = parseXml('<%=resultXml%>');
var json = xml2json(xmlObj);
document.write(json);
</script>
ASP在如下方法中调用了整个块:
sub writeJsonResult(resultXml)
% >
the above javascript is here
< % end sub
% >
再次,可见浏览器显示了JSON,但是使用它的服务未获得所需的RESPONSE。有没有一种方法可以将JSON编写为响应?我觉得我缺少了一些东西,对此还不太了解。
该服务期望获取JSON。
这意味着尝试通过处理JSON客户端来解决该问题将无法正常进行,因为这意味着您已发送回text/html
HTTP响应,而不是一个HTTP响应application/json
。没有解决之道,您必须处理XML以在服务器端构建JSON结构,然后使用来将其返回
Response.ContentType = "application/json"
有很多用于经典ASP的JSON库,有些不错,有些很棒,有些则简直糟透了。如果您正在寻找建议,则只需要仔细检查一下,看看哪一种适合您。ASPJSON.com可能是使用最广泛的库(但是很奇怪,该站点目前处于关闭状态)。
如果可能,在生成XML的地方,可以使用如上所述的库将其替换为JSON,其中大多数都支持直接从数据库构建JSON结构,从而省去了您从XML解析和构建JSON的麻烦。
经典ASP JSON类 (网站当前处于关闭状态)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句