2014-10-03 5 views
0

Как я могу преобразовать строку ...Как преобразовать строку литерала объекта JavaScript в литерал объекта JavaScript?

"{ name: 'John' }" 

... к фактической JavaScript литерал объекта, который позволит мне получить доступ к данным, используя свои ключи (т.е. Имя_переменной [ «имя»] == «Джон «)? Я не могу использовать JSON.parse(), поскольку строка недействительна JSON.

+0

Я предпочел бы избежать 'eval' и сделать источник получения надлежащего JSON. – Thilo

ответ

1

Из предыдущего вопроса

s="{ name: 'John'}"; 
eval('x='+s); 
+1

Ahhh, теперь я вижу, что вы говорите. Так жаль, что мне было так трудно понять. Спасибо за вашу помощь! – BeachRunnerFred

1

Вы можете использовать eval().

var str = "{ name: 'John' }"; 
var obj = eval("(" + str + ")"); 
1

Пример с new Function

var str = "{ name: 'John' }"; 
 
var fnc = new Function("return " + str); 
 
var obj = fnc(); 
 
console.log(obj.name);

Смежные вопросы