如何将字符串解析为哈希表

Bre*_*eak 4 javascript jquery

是否有一种简单的(甚至是单一且简单的命令)方法来构建一个哈希表(关联数组,JSON - 无论如何)来自包含键值对的字符串,由给定的分隔符分隔.

示例:

n1=v1&n2=v2&n3=v3(在哪里&是分隔符)应该返回:[{n1:v1}, {n2:v2}, {n3:v3}]

例2:

n1=v1;n2=v2;n3=v3(哪里;是分隔符)

谢谢!

Tim*_*own 5

以下将以一种非常基本的方式进行,并检查每种情况下的密钥是否为空.所有值都是字符串.

function parse(str, separator) {
    var parsed = {};
    var pairs = str.split(separator);
    for (var i = 0, len = pairs.length, keyVal; i < len; ++i) {
        keyVal = pairs[i].split("=");
        if (keyVal[0]) {
            parsed[keyVal[0]] = keyVal[1];
        }
    }
    return parsed;
}
Run Code Online (Sandbox Code Playgroud)

例:

var props = parse("n1=v1&n2=v2&n3=v3", "&");
alert(props.n2); // Alerts v2
Run Code Online (Sandbox Code Playgroud)