Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串转换为Javascript对象_Javascript_Node.js - Fatal编程技术网

将字符串转换为Javascript对象

将字符串转换为Javascript对象,javascript,node.js,Javascript,Node.js,我正在尝试将以下字符串值转换为javascript对象 范例 进入 有人能帮我吗看起来你想要查询字符串模块: 使用纯javascript var str="name=usernamex&gender=boy&age=10&version_obj=1"; var array = str.split('&'); var obj = {}; array.forEach(function(value){ var x = value.split('=');

我正在尝试将以下字符串值转换为javascript对象 范例

进入


有人能帮我吗

看起来你想要
查询字符串
模块:

使用纯javascript

var str="name=usernamex&gender=boy&age=10&version_obj=1";
var array = str.split('&');
var obj = {};
array.forEach(function(value){
    var x = value.split('=');
    obj[x[0]] = decodeURIComponent(x[1]);
});
console.log(obj);

如果您不想使用模块:

var strArr = string.split("&");
var user = {}, i = 0, n;
while(i<strArr.length) {
    n = strArr[i].split("=");
    if(n.length == 2)
     user[decodeURIComponent(n[0])]
      = decodeURIComponent(n[1]);
    i++;
    }
var strArr=string.split(&”);
var user={},i=0,n;

虽然(iIs)在没有节点的情况下,有什么方法可以做到这一点吗?编辑:无需担心,已回答此问题below@JeremyW-当然,有很多方法,请参阅下面plbsam的答案,了解原始JS版本。但是,如果您已经在使用node,正如OP的标记所示,这是一种简单的方法。您的脚本没有正确处理URI编码的值。请举个例子?@JonathanGrayFYI密钥也需要解码。再次检查我的示例;)我们只使用ASCII字符作为密钥。这真的有必要吗?只有在您关心处理所有用例场景的情况下。实际上,这里还有一个我们都忘记了的大问题……输入格式错误的情况。一个简单的查询,如“一”或“一=二”如果我没弄错的话,我会抛出一个异常!*仅用于示例,不用于生产环境。
querystring.parse('foo=bar&baz=qux&baz=quux&corge') 
// { foo: 'bar', baz: ['qux', 'quux'], corge: '' }
var str="name=usernamex&gender=boy&age=10&version_obj=1";
var array = str.split('&');
var obj = {};
array.forEach(function(value){
    var x = value.split('=');
    obj[x[0]] = decodeURIComponent(x[1]);
});
console.log(obj);
var strArr = string.split("&");
var user = {}, i = 0, n;
while(i<strArr.length) {
    n = strArr[i].split("=");
    if(n.length == 2)
     user[decodeURIComponent(n[0])]
      = decodeURIComponent(n[1]);
    i++;
    }