JS 中的字符串到对象

2022-08-30 00:48:45

我有一个字符串作为

string = "firstName:name1, lastName:last1"; 

现在我需要一个对象 obj 使得

obj = {firstName:name1, lastName:last1}

如何在JS中执行此操作?


答案 1

实际上,最好的解决方案是使用JSON:

文档

JSON.parse(text[, reviver]);

例子:

1)

var myobj = JSON.parse('{ "hello":"world" }');
alert(myobj.hello); // 'world'

2)

var myobj = JSON.parse(JSON.stringify({
    hello: "world"
});
alert(myobj.hello); // 'world'

3) 将函数传递给 JSON

var obj = {
    hello: "World",
    sayHello: (function() {
        console.log("I say Hello!");
    }).toString()
};
var myobj = JSON.parse(JSON.stringify(obj));
myobj.sayHello = new Function("return ("+myobj.sayHello+")")();
myobj.sayHello();

答案 2

您的字符串看起来像一个没有大括号的 JSON 字符串。

这应该有效:

obj = eval('({' + str + '})');