首页 > 解决方案 > 在 JavaScript 中从 HTML 源中提取 JSON

问题描述

我正在构建一个简单的 Greasemonkey 插件,该插件应该根据页面源上的“值”执行 X 操作。具体来说,在下面,我想获得“价值”:

<script type="application/ld+json">
[
    {
      "value": "PEAR"
    }
]
</script>

在这种情况下,将 PEAR 读取到变量中。此后,做一些逻辑。

Javascript中是否有一种方法可以工作,因为该值不一定在页面上“显示”。

标签: javascripthtmlgreasemonkey

解决方案


您需要获取脚本标签的文本内容并使用 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>


推荐阅读