JS 中的字符串到对象
2022-08-30 00:48:45
我有一个字符串作为
string = "firstName:name1, lastName:last1";
现在我需要一个对象 obj 使得
obj = {firstName:name1, lastName:last1}
如何在JS中执行此操作?
我有一个字符串作为
string = "firstName:name1, lastName:last1";
现在我需要一个对象 obj 使得
obj = {firstName:name1, lastName:last1}
如何在JS中执行此操作?
实际上,最好的解决方案是使用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();
您的字符串看起来像一个没有大括号的 JSON 字符串。
这应该有效:
obj = eval('({' + str + '})');