javascript - 在 JavaScript 中从 HTML 源中提取 JSON
问题描述
我正在构建一个简单的 Greasemonkey 插件,该插件应该根据页面源上的“值”执行 X 操作。具体来说,在下面,我想获得“价值”:
<script type="application/ld+json">
[
{
"value": "PEAR"
}
]
</script>
在这种情况下,将 PEAR 读取到变量中。此后,做一些逻辑。
Javascript中是否有一种方法可以工作,因为该值不一定在页面上“显示”。
解决方案
您需要获取脚本标签的文本内容并使用 JSON.parse() 将其转换为数组
var txt = document.querySelector('script[type="application/ld+json"]').textContent
var arr = JSON.parse(txt)
console.log(arr[0].value)
<script type="application/ld+json">
[
{
"value": "PEAR"
}
]
</script>