一步到位js/javascript对象和querystring查询字符串互转(get/url参数)
当然,这个问题又很多解决方式,这里说一种最简洁的方式:
对象转querystring查询字符串(get/url参数)
我看网上的方法都比较繁琐,其实可以直接使用js的URLSearchParams对象一步到位:
1 (new URLSearchParams(obj)).toString();
2
3 // test
4 console.log((new URLSearchParams({page: 'seekhub_collector', nav: 'data', size: '10', p: '1'}).toString());
5 // 'page=seekhub_collector&nav=data&size=10&p=1'
querystring查询字符串转对象
如果拿到的是完整的网址比如location.href
var url = new URL('https://www.domain.cn/qrcode/test?to=video');
url.searchParams.get('to');
// video
如果只是一段类似?to=video的querystring这个就需要自己实现了
1 function getQueryObject(url){
2 var query = url.split('?')[1];
3 var res = {};
4
5 querys = query.split('&');
6 querys.forEach(query => {
7 var item = query.split('=');
8 res[item[0]] = item[1]; // 当然如果有中文/Unicode字符可以在这里用URIencode方法转码一下
9 });
10
11 return res;
12 }
一步到位js/javascript对象和querystring查询字符串互转(get/url参数)的更多相关文章
- Underscore.js(JavaScript对象操作方法)
Underscore封装了常用的JavaScript对象操作方法,用于提高开发效率.(Underscore还可以被使用在Node.js运行环境.) 在学习Underscore之前,你应该先保存它的AP ...
- js操作对象属性值为字符串
今天在项目开发中遇到一个没遇到过的问题,这个问题是需要对比两个对象a和b,a是一个只有一个属性的对象,b是一个含有多个属性对象,如果b中包含和a一模一样的属性名和值,则把这个一样的属性和值从b中删除了 ...
- js String对象中常用方法小结(字符串操作)
1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码. strObj.charCodeAt(index) 说明: index将被处理字符的从零开始计数的编号.有效值为0到字符 ...
- javascript中json对象json数组json字符串互转及取值
今天用到了json数组和json对象和json类型字符串之间互转及取值,记录一下: 1.json类型的字符串转换为json对象及取值 var jsonString = '{"bar" ...
- JS 将对象转换成字符 字符串转换成json对象
//js对象 var user = { "name": "张学友", "address": "中国香港" }; //将对 ...
- [JS]Javascript对象与JSON的互转
var obj = JSON.parse(json); //由JSON字符串转换为JSON对象 var json=JSON.stringify(obj); //将JSON对象转化为JSON字符 //此 ...
- 解决vue修改路由的查询字符串(query)url不改变,页面不刷新问题
我个人猜测可能是对路由的数据检测深度不够吧,单纯修改query里面的属性是不能触发数据驱动的,因此要直接给query赋值新的对象才能驱动数据更新,做法如下 第一种 var query=JSON.par ...
- 记录javascript 验证字符串布尔类型 及url 参数获取
/^true$/i.test("false");false/^true$/i.test("true");true //获取请求参数的值 function Req ...
- 编写一个参数JavaScript函数parseQueryString,它的用途是把url参数解析为一个对象
var url = "http://www.taobao.com/index.php?key0=0&key1=1&key2=2............."; var ...
- javascript对象序列化(对象与JSON字符串的互换)
前一段时间用到h5的本地存储---需要把某个js对象存储在浏览器的本地存储中,用到了javascript对象的序列化与反序列化 所谓的序列化就是将对象的状态信息转换为可以存储或传输的形式的过程,基本上 ...
随机推荐
- 分布式事务之2PC两阶段提交
1. 分布式事务概述 1.1 问题背景 在分布式系统中,业务操作可能跨越多个服务或数据库(如订单服务.库存服务.支付服务),传统单机事务(ACID)无法满足跨网络节点的数据一致性需求. 网络不可靠:服 ...
- Alink漫谈(二十一) :回归评估之源码分析
Alink漫谈(二十一) :回归评估之源码分析 0x00 摘要 Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法.流式算法的机器学习平台.本 ...
- 「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
> 由于网页编辑器简陋,无法实现原文档的精心排版,如需原文档可联系... 序 「ximagine」在本篇文章中将介绍「荒岛」目前所使用的显示器测试流程及标准,我们主要使用Calman.Displ ...
- Maven入门,读完这篇就够了
Maven 项⽬⽣命周期 Maven从项⽬的三个不同的⻆度,定义了三套⽣命周期,三套⽣命周期是相互独⽴的,它们之间不会相互影响. 清理⽣命周期(Clean Lifecycle):该⽣命周期负责清理项⽬ ...
- 从SQL Server迁移到Mysql Mysql导入SQL Server的数据库
mysql怎么导入 SQl Server的数据库, SQL Server导出的SQL文件Mysql无法识别 需要用到的软件 Navicat mysql workbanch SQL Server man ...
- npm i 下载太慢
1.在项目内部进入终端 2.输入:npm config set registry https://registry.npmmirror.com 修改npm下载地址为淘宝 3.然后再执行 npm i 进 ...
- Live2D - 模型预览图
chitose epsilon2_1 haru-01 haru-02 hijiki tororo vert_normal vert_swimwear ryoufuku seifuku ...
- Hadoop - [01] 概述
Hadoop官网:https://hadoop.apache.org/ Hadoop下载:https://archive.apache.org/dist/hadoop/common/ 一.Hadoop ...
- 【渗透测试】Vulnhub DarkHole
渗透环境 攻击机: IP: 192.168.216.129(Kali) 靶机: IP:192.168.216.130 靶机下载地址:https://www.vulnhub.com/entr ...
- Windows编程----结束进程
进程有启动就有终止,通过CreateProcess函数可以启动一个新的子进程,但是如何终结子进程呢?主要有四种方法: 通过主线程的入口函数(main函数.WinMain函数)的return关键字终止进 ...