php querystring使用,node.js中的querystring.parse方法使用说明_node.js
方法說明:
將字符串轉(zhuǎn)成對(duì)象。說白了其實(shí)就是把url上帶的參數(shù)串轉(zhuǎn)成數(shù)組對(duì)象。(看例子就知道咯)
語法:
代碼如下:
querystring.parse(str, [sep], [eq], [options])
接收參數(shù):
str 欲轉(zhuǎn)換的字符串
sep 設(shè)置分隔符,默認(rèn)為 ‘&'
eq 設(shè)置賦值符,默認(rèn)為 ‘='
[options] maxKeys 可接受字符串的最大長(zhǎng)度,默認(rèn)為1000
例子:
代碼如下:
querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// returns
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }
源碼:
代碼如下:
// Parse a key=val string.
QueryString.parse = QueryString.decode = function(qs, sep, eq, options) {
sep = sep || '&';
eq = eq || '=';
var obj = {};
if (!util.isString(qs) || qs.length === 0) {
return obj;
}
var regexp = /\+/g;
qs = qs.split(sep);
var maxKeys = 1000;
if (options && util.isNumber(options.maxKeys)) {
maxKeys = options.maxKeys;
}
var len = qs.length;
// maxKeys <= 0 means that we should not limit keys count
if (maxKeys > 0 && len > maxKeys) {
len = maxKeys;
}
for (var i = 0; i < len; ++i) {
var x = qs[i].replace(regexp, '%20'),
idx = x.indexOf(eq),
kstr, vstr, k, v;
if (idx >= 0) {
kstr = x.substr(0, idx);
vstr = x.substr(idx + 1);
} else {
kstr = x;
vstr = '';
}
try {
k = decodeURIComponent(kstr);
v = decodeURIComponent(vstr);
} catch (e) {
k = QueryString.unescape(kstr, true);
v = QueryString.unescape(vstr, true);
}
if (!hasOwnProperty(obj, k)) {
obj[k] = v;
} else if (util.isArray(obj[k])) {
obj[k].push(v);
} else {
obj[k] = [obj[k], v];
}
}
return obj;
};
總結(jié)
以上是生活随笔為你收集整理的php querystring使用,node.js中的querystring.parse方法使用说明_node.js的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java动态内存分部,如何利用Java实
- 下一篇: ubuntu20.04安装Qt5.15.