javascript - 将文本列表转换为 JSON 对象(javascript 或 jquery)
问题描述
是否可以使用 Javascript 或 jQuery 将此列表转换为 JSON(见下文)?
<div class="w-dyn-items">
<div class="w-dyn-item">
<div class="select-item-country">England</div>
</div>
<div role="listitem" class="w-dyn-item">
<div class="select-item-country">N. Ireland</div>
</div>
["England","N. Ireland"]
我使用了各种 javascript 方法(拆分、数组等)将此文本转换为 json 数组,但我正在努力让它工作。
需要注意的一些事项:
- 上面的 HTML 数据存在于页面上,但它是隐藏的。此信息是通过 CMS 提取的(因此它是动态数据)
- 我需要将此列表转换为 JSON 数组,以便我可以创建级联选择/选项列表(我目前使用 Webflow 进行开发)。
感谢您对此的任何帮助!
解决方案
按类抓取元素,map
然后返回它们的文本内容。
注意:[...items]
将返回的类数组静态节点列表从querySelectorAll
结果转换为适当的数组,以便map
可以工作。
const items = document.querySelectorAll('.select-item-country');
const values = [...items].map(item => item.textContent);
console.log(values);
// If you then need to convert it to JSON
const json = JSON.stringify(values);
console.log(json);
<div class="w-dyn-items">
<div class="w-dyn-item">
<div class="select-item-country">England</div>
</div>
<div role="listitem" class="w-dyn-item">
<div class="select-item-country">N. Ireland</div>
</div>
</div>
附加文件
推荐阅读
- kubernetes - HorizontalPodAutoscaler Kubernetes 不保留最小副本数
- javascript - 运行跨环境 NODE_ENV=development webpack-dev-server --open --hot 时无法在 vue js 中使用 .env 文件
- java - Jsoup web scrape 给了我 java.lang.NoClassDefFoundError 指向我声明文档的行,我不知道为什么?
- html - CSS不会链接到HTML,尝试了一切
- windows - 如何在 x86_64 程序集中 printf 和 scanf?
- c++ - 订购独立的可变参数模板参数
- java - 如何点击 Selenium Webdriver 和 Java
- python - 关于此代码结尾的初学者编码问题
- java - Java - 无法使用 SmbFile 连接到共享网络服务器
- acumatica - 在 2020R2 中创建销售订单付款