字符串到JavaScript中的对象,一个对象

字符串到JavaScript中的对象,一个对象,javascript,string,object,Javascript,String,Object,我有一根绳子 string = "foo.call=45&doo.foo=20&foo.in=5"; 现在我需要一个对象obj,这样 obj = {"foo": {"call": "45"}} {"foo": {"call": "45","in":"5"},"doo": {"foo":20}} 如何在JavaScript中实现这一点? 对于一个字符串=“foo.call=45” 您可以按等号拆分字符串,并将左侧部分作为对象中值的路径 函数设置值(对象、路径、值){ var

我有一根绳子

string = "foo.call=45&doo.foo=20&foo.in=5";
现在我需要一个对象obj,这样

obj = {"foo": {"call": "45"}} {"foo": {"call": "45","in":"5"},"doo": {"foo":20}}
如何在JavaScript中实现这一点? 对于一个字符串=“foo.call=45”


您可以按等号拆分字符串,并将左侧部分作为对象中值的路径

函数设置值(对象、路径、值){
var way=path.split('.'),
last=way.pop();
reduce((o,k)=>o[k]=o[k]| |{},object)[last]=value;
返回对象;
}
函数getObject(字符串,对象={}){
一串
.split(“&”)
.forEach(s=>setValue(对象,…s.split('='));
返回对象;
}
log(getObject('foo.test.rest.call=45');
log(getObject('foo.call=45&doo.foo=20&foo.in=5')

.as控制台包装{max height:100%!important;top:0;}
这可能有助于解决您的部分问题:欢迎使用堆栈溢出!请拿着这本书,通读一遍,特别是做你的研究,看看相关的主题,然后试一试。如果你在做了更多的研究和搜索后陷入困境,无法摆脱困境,请发布一份你的尝试,并明确指出你陷入困境的地方。人们会乐意帮忙的。祝你好运可能是重复的谢谢。如果是这样的情况:string=“foo.call=45&doo.foo=20&foo.in=5”@magnum888,您可以按
'&
拆分,并使用相同的对象进行分配。
function aaa(string){
    var aa = string.split('=')[0],
        bb = string.split('=')[1];
    function setValue(object, path, value) {
    var way = path.split('.'),
        last = way.pop();
    way.reduce((o, k) => o[k] = o[k] || {}, object)[last] = value;
    return object;
    }
    var object = JSON.stringify(setValue({}, aa, bb));
    console.log(object);    
}