c语言 解析uri参数,解析url参数

解析为对象

function parseQuery(url) {

let obj = {};

let queryString = url.split('?')[1];

if (queryString) {

queryString.split('&')

.forEach(item => {

let [key, val] = item.split('=');

val = val ? decodeURI(val) : true;//转码,无值赋值true

if(obj.hasOwnProperty(key)) {

obj[key] = [].concat(o[key], val);//已有属性,转为数组

} else {

obj[key] = val;

}

})

}

return obj;

}

console.log(parseQuery(url));

//{ user: 'huixin',

//  id: [ '123', '456' ],

//  city: '北京',

//  enabled: true }

解析为数组

const url = decodeURI(location.search);//获取url中"?"符后的字串(包括问号)

function parseUrl(url){

var result = [];

var queryArr= url.substr(1).split('&');

queryArr.forEach(function(item){

var obj = {};

var key = item.split("=")[0];

var value = item.split("=")[1];

obj[key] = value;

result.push(obj);

});

return result;

}

console.log(parseUrl(path));//[{id: '2'},{type: '0'},{dtype: '-1'}]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值