如何从JSON对象中获取元素值,首先将其转换为HTML,然后转换为字符串

How to get element value from JSON object and first convert it to HTML and then to String

本文关键字:转换 HTML 字符串 然后 对象 获取 元素 JSON      更新时间:2023-09-26

嗨,我从XMLHttpRequest中获得一个JSON字符串,我首先将其转换为JavaScript对象:

response = JSON.parse(xmlhttp.responseText);

其中一个JSON元素值是一个字符串,它代表一个带有noscript标签的脚本标签,如下所示(输出显示console.log(response.ad.con);):

<SCRIPT language='JavaScript1.1' SRC="https://ad.doubleclick.net/ddm/adj/N378.150781.4704472308521/B5632202.128522416;sz=300x250;ord=[timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=?"></SCRIPT><NOSCRIPT><A HREF="https://ad.doubleclick.net/ddm/jump/N378.150781.4704472308521/B5632202.128522416;sz=300x250;ord=[timestamp]?"><IMG SRC="https://ad.doubleclick.net/ddm/ad/N378.150781.4704472308521/B5632202.128522416;sz=300x250;ord=timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=?" BORDER=0 WIDTH=300 HEIGHT=250 ALT="Advertisement"></A></NOSCRIPT>

我现在想要得到script标签SRC元素中的字符串。我该怎么做呢?我想我在转换中迷失了…

非常感谢!

您可以使用DOMParser来解析HTML字符串,就像JSON等一样,然后使用DOM方法获取属性

var response = JSON.parse(xmlhttp.responseText);
var parser   = new DOMParser();
var doc      = parser.parseFromString(response.propertyWithHtml, "text/html");
var src      = doc.querySelector('script').getAttribute('src');

如果你使用jQuery,试试这个

$('<SCRIPT language="JavaScript1.1" SRC="https://ad.doubleclick.net/ddm/adj/N378.150781.4704472308521/B5632202.128522416;sz=300x250;ord=[timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=?"></SCRIPT><NOSCRIPT><A HREF="https://ad.doubleclick.net/ddm/jump/N378.150781.4704472308521/B5632202.128522416;sz=300x250;ord=[timestamp]?"><IMG SRC="https://ad.doubleclick.net/ddm/ad/N378.150781.4704472308521/B5632202.128522416;sz=300x250;ord=timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=?" BORDER=0 WIDTH=300 HEIGHT=250 ALT="Advertisement"></A></NOSCRIPT>').attr("SRC")