javascript - 如何将字符串转换为具有键值对的对象
问题描述
我有一个看起来像这样的字符串:
'a=aaa,bbb,ccc&b=aaa,bbb,ccc&c=aaa,bbb,ccc'
我想将其更改为如下所示的对象:
{ a: 'aaa, bbb, ccc', b: 'aaa, bbb, ccc', c: 'aaa, bbb, ccc' }
我曾尝试在&
then上进行拆分,=
但这会导致:
[ ['a', 'aaa','bbb','ccc'], ['b', 'aaa','bbb','ccc'], ['c', 'aaa','bbb','ccc' ] ]
解决方案
您可以只使用URLSearchParams:
var params = new URLSearchParams('a=aaa,bbb,ccc&b=aaa,bbb,ccc&c=aaa,bbb,ccc');
var obj = Object.fromEntries(params.entries())
console.log(obj);
如果您的浏览器没有这些功能,您可以使用 polyfill:
https://www.npmjs.com/package/url-search-params-polyfill https://github.com/feross/fromentries
推荐阅读
- c++ - 我在使用 Qt Creator 链接 Pistache 时遇到问题:未定义的对 `vtable for Pistache::Http::Handler' 的引用
- ros - rviz启动时黑屏是什么原因?
- python - 我的 Discord 机器人如何处理多个输入?
- sql-server - 在同一台机器上的 SQL Server 中,仅将数据从一个数据库复制到另一个数据库
- java - 如何编写一个批处理文件,自动将输入提供给提示用户输入的java程序
- elasticsearch - Elastic Search Kubernetes - 索引的高可用性
- android - 如何将库导入 build.gradle
- python - 使用 Apache Beam GCP DataflowRunner 写入 BigQuery (Python)
- isabelle - Isabelle 感应,定制基本案例
- javascript - 将主机名附加到路径并创建 URL