我有一个网页上的以下JSON.通过jQuery提取此信息的最佳方式是什么?

<script type="application/json" id="user-metadata">
  {"username": "zee_162", "enrollment_mode": "audit", "upgrade_link": null, "user_id": 393900}
</script>

推荐答案

要使用jQuery解析JSON,请获取#user-metadata元素的text(),然后是JSON.parse():

let json = $('#user-metadata').text().trim();
let obj = JSON.parse(json);

console.log(obj);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script type="application/json" id="user-metadata">
  {"username": "zee_162", "enrollment_mode": "audit", "upgrade_link": null, "user_id": 393900}
</script>

或者,您也可以使用普通的JS执行相同的逻辑.唯一的区别是如何确定元素的目标并检索其文本内容.

let json = document.querySelector('#user-metadata').textContent.trim();
let obj = JSON.parse(json);

console.log(obj);
<script type="application/json" id="user-metadata">
  {"username": "zee_162", "enrollment_mode": "audit", "upgrade_link": null, "user_id": 393900}
</script>

Jquery相关问答推荐

如果链接包含多个关键字,jQuery 将 HTML 添加到链接

加入了两个 select 语句,但数据显示了两次而不是一次

在不同的行插入不同的值

当输入值以编程方式更改时触发更改事件?

动态加载 css 样式表在 IE 上不起作用

JQuery通过类名获取所有元素

在 for 循环中分配点击处理程序

jQuery中的正则表达式字段验证

如何使用 jQuery 重置 jquery Select 的 Select 选项?

显示的 jQuery 日期 Select 器年份

如何使用 jQuery Select 单个子元素?

将参数附加到 URL 而不刷新

使用 jQuery 刷新(重新加载)页面一次?

如何在实际图像下载时显示加载图像

如何通过js打开 Select 文件对话框?

与 C# HashSet 等效的 JavaScript 是什么?

如何使用 jQuery 或纯 JS 重置所有复选框?

检测用户是否创建了滚动事件

调整浏览器大小时如何自动居中 jQuery UI 对话框?

如何判断值是否为 JSON 对象?